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(-) _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev