diff options
| author | Vivek Goyal <[email protected]> | 2013-12-18 17:08:31 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-12-18 19:04:50 -0800 |
| commit | c97102ba96324da330078ad8619ba4dfe840dbe3 (patch) | |
| tree | cea4f59c290b44a0c490cfc2be1f1b9d0e5c2aac /include/linux/debugobjects.h | |
| parent | b0031f227e47919797dc0e1c1990f3ef151ff0cc (diff) | |
kexec: migrate to reboot cpu
Commit 1b3a5d02ee07 ("reboot: move arch/x86 reboot= handling to generic
kernel") moved reboot= handling to generic code. In the process it also
removed the code in native_machine_shutdown() which are moving reboot
process to reboot_cpu/cpu0.
I guess that thought must have been that all reboot paths are calling
migrate_to_reboot_cpu(), so we don't need this special handling. But
kexec reboot path (kernel_kexec()) is not calling
migrate_to_reboot_cpu() so above change broke kexec. Now reboot can
happen on non-boot cpu and when INIT is sent in second kerneo to bring
up BP, it brings down the machine.
So start calling migrate_to_reboot_cpu() in kexec reboot path to avoid
this problem.
Bisected by WANG Chao.
Reported-by: Matthew Whitehead <[email protected]>
Reported-by: Dave Young <[email protected]>
Signed-off-by: Vivek Goyal <[email protected]>
Tested-by: Baoquan He <[email protected]>
Tested-by: WANG Chao <[email protected]>
Acked-by: H. Peter Anvin <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions