[PATCH v2 0/3] powerpc: bug fixes in pseries_mach_cpu_die()

Vaidyanathan Srinivasan svaidy at linux.vnet.ibm.com
Mon Mar 1 23:58:03 EST 2010


Hi Ben,

The following set of patches fixes kernel stack reset issue and also
potential race conditions.

This fix should be applied in 2.6.33 stable tree onwards.

Problem description:

(1) Repeated offline/online operation on pseries with extended cede
processor feature will run over the kernel stack and crash since the
stack was not reset on resume from cede processor.

(2) The 'if' conditions and code has been slightly rearranged to avoid
any possible race conditions where preferred_offline_state can change
while the cpu is still executing the condition checks in
pseries_mach_cpu_die().  The new code has the CPU_STATE_OFFLINE as
default and also improved readability.  Thanks to Anton Blanchard for
pointing this out.

(3) There were too many noisy KERN_INFO printks on offline/online
operation.  Removed the printk's for now.  Other debug methods or
traceevents can be introduced at a later point.

The patch has been tested on large POWER machine with both
cede_offline=off case and the default cede_offline=on case.

Please apply in powerpc.git tree and push upstream.

Previous version of the patch can be found at:

[PATCH] powerpc: reset kernel stack on cpu online from cede state
http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-February/080515.html

Thanks,
Vaidy

---

Vaidyanathan Srinivasan (3):
      powerpc: reset kernel stack on cpu online from cede state
      powerpc: move checks in pseries_mach_cpu_die()
      powerpc: reduce printk from pseries_mach_cpu_die()


 arch/powerpc/kernel/head_64.S                   |   11 ++++++
 arch/powerpc/platforms/pseries/hotplug-cpu.c    |   42 ++++++++---------------
 arch/powerpc/platforms/pseries/offline_states.h |    2 +
 3 files changed, 27 insertions(+), 28 deletions(-)



More information about the Linuxppc-dev mailing list