Files
linux/include/linux
Vivek Goyal c97102ba96 kexec: migrate to reboot cpu
Commit 1b3a5d02ee ("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 <mwhitehe@redhat.com>
Reported-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Tested-by: Baoquan He <bhe@redhat.com>
Tested-by: WANG Chao <chaowang@redhat.com>
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-12-18 19:04:50 -08:00
..
2013-08-14 13:55:15 +05:30
2013-12-03 13:10:47 +01:00
2013-07-30 11:53:12 -04:00
2013-11-08 08:59:44 -07:00
2013-10-28 13:33:58 -06:00
2013-09-23 21:44:16 -04:00
2013-11-15 09:32:23 +09:00
2013-11-15 09:32:21 +09:00
2013-11-09 00:16:29 -05:00
2013-08-26 20:15:23 +09:00
2013-08-22 22:13:54 -07:00
2013-11-15 22:04:17 -05:00
2013-09-29 18:27:03 -07:00
2013-10-16 18:40:57 -07:00
2013-09-13 15:09:52 +02:00
2013-09-13 15:09:52 +02:00
2013-08-09 10:49:00 +02:00
2013-07-26 16:19:48 -07:00
2013-11-15 09:32:23 +09:00
2013-08-28 21:35:14 -07:00
2013-12-11 15:52:34 +01:00
2013-11-13 12:09:11 +09:00
2013-09-23 15:44:58 +09:30
2013-11-09 00:16:19 -05:00
2013-11-09 00:16:19 -05:00
2013-12-10 21:45:15 -05:00
2013-10-14 17:15:48 +02:00
2013-09-03 16:40:32 -04:00
2013-10-17 00:36:06 +02:00
2013-12-18 19:04:50 -08:00
2013-09-10 18:56:32 -04:00
2013-09-12 15:38:02 -07:00
2013-09-26 15:33:18 -07:00
2013-08-05 10:52:36 -06:00
2013-11-14 15:16:16 +11:00
2013-10-17 15:53:09 -04:00