• Dan Streetman's avatar
    powerpc: use device_online/offline() instead of cpu_up/down() · 10ccaf17
    Dan Streetman authored
    In powerpc pseries platform dlpar operations, use device_online() and
    device_offline() instead of cpu_up() and cpu_down().
    
    Calling cpu_up/down() directly does not update the cpu device offline
    field, which is used to online/offline a cpu from sysfs. Calling
    device_online/offline() instead keeps the sysfs cpu online value
    correct. The hotplug lock, which is required to be held when calling
    device_online/offline(), is already held when dlpar_online/offline_cpu()
    are called, since they are called only from cpu_probe|release_store().
    
    This patch fixes errors on phyp (PowerVM) systems that have cpu(s)
    added/removed using dlpar operations; without this patch, the
    /sys/devices/system/cpu/cpuN/online nodes do not correctly show the
    online state of added/removed cpus.
    Signed-off-by: default avatarDan Streetman <ddstreet@ieee.org>
    Cc: Nathan Fontenot <nfont@linux.vnet.ibm.com>
    Fixes: 0902a904 ("Driver core: Use generic offline/online for CPU offline/online")
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    10ccaf17
dlpar.c 10.8 KB