aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorMatt Evans <matt@ozlabs.org>2010-07-29 18:49:08 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-31 15:05:22 +1000
commite8e5c2155b0035b6e04f29be67f6444bc914005b (patch)
tree053dc35d425029ea221abc32c0ac81f3512cd2b0 /drivers/char
parentpowerpc/kexec: Add to and tidy debug/comments in machine_kexec64.c (diff)
downloadlinux-dev-e8e5c2155b0035b6e04f29be67f6444bc914005b.tar.xz
linux-dev-e8e5c2155b0035b6e04f29be67f6444bc914005b.zip
powerpc/kexec: Fix orphaned offline CPUs across kexec
When CPU hotplug is used, some CPUs may be offline at the time a kexec is performed. The subsequent kernel may expect these CPUs to be already running, and will declare them stuck. On pseries, there's also a soft-offline (cede) state that CPUs may be in; this can also cause problems as the kexeced kernel may ask RTAS if they're online -- and RTAS would say they are. The CPU will either appear stuck, or will cause a crash as we replace its cede loop beneath it. This patch kicks each present offline CPU awake before the kexec, so that none are forever lost to these assumptions in the subsequent kernel. Now, the behaviour is that all available CPUs that were offlined are now online & usable after the kexec. This mimics the behaviour of a full reboot (on which all CPUs will be restarted). Signed-off-by: Matt Evans <matt@ozlabs.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'drivers/char')
0 files changed, 0 insertions, 0 deletions