On 10/31/2014 02:41 PM, Dan Streetman wrote: > 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 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: Dan Streetman <ddstr...@ieee.org> > Cc: Nathan Fontenot <nf...@linux.vnet.ibm.com>
Acked-by: Nathan Fontenot <nf...@linux.vnet.ibm.com> > --- > > Previous discussion for this: > https://lkml.org/lkml/2014/10/29/839 > > arch/powerpc/platforms/pseries/dlpar.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/platforms/pseries/dlpar.c > b/arch/powerpc/platforms/pseries/dlpar.c > index 6ad83bd..c22bb1b 100644 > --- a/arch/powerpc/platforms/pseries/dlpar.c > +++ b/arch/powerpc/platforms/pseries/dlpar.c > @@ -382,7 +382,7 @@ static int dlpar_online_cpu(struct device_node *dn) > BUG_ON(get_cpu_current_state(cpu) > != CPU_STATE_OFFLINE); > cpu_maps_update_done(); > - rc = cpu_up(cpu); > + rc = device_online(get_cpu_device(cpu)); > if (rc) > goto out; > cpu_maps_update_begin(); > @@ -467,7 +467,7 @@ static int dlpar_offline_cpu(struct device_node *dn) > if (get_cpu_current_state(cpu) == CPU_STATE_ONLINE) { > set_preferred_offline_state(cpu, > CPU_STATE_OFFLINE); > cpu_maps_update_done(); > - rc = cpu_down(cpu); > + rc = device_offline(get_cpu_device(cpu)); > if (rc) > goto out; > cpu_maps_update_begin(); > _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev