• Greg Kurz's avatar
    powerpc/vphn: NUMA node code expects big-endian · 5c9fb189
    Greg Kurz authored
    The associativity domain numbers are obtained from the hypervisor through
    registers and written into memory by the guest: the packed array passed to
    vphn_unpack_associativity() is then native-endian, unlike what was assumed
    in the following commit:
    
    commit b08a2a12
    Author: Alistair Popple <alistair@popple.id.au>
    Date:   Wed Aug 7 02:01:44 2013 +1000
    
        powerpc: Make NUMA device node code endian safe
    
    This issue fills the topology with bogus data and makes it unusable. It may
    lead to severe performance breakdowns.
    
    We should ideally patch the vphn_unpack_associativity() function to do the
    64-bit loads, but this requires some more brain storming.
    
    In the meantime, let's go for a suboptimal and temporary bug fix: this patch
    converts each 64-bit value of the packed array to big endian, as expected by
    the current parsing code in vphn_unpack_associativity().
    Signed-off-by: default avatarGreg Kurz <gkurz@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    5c9fb189
numa.c 44.5 KB