Hi, 河合英宏 Thanks for the patch log update, it looks good to me.
Acked-by: Dave Young <[email protected]> On 09/20/16 at 11:22am, 河合英宏 / KAWAI,HIDEHIRO wrote: > Here is the revised commit description reflecting Dave's > comment. Cc list was copied from -mm version. > > From: Hidehiro Kawai <[email protected]> > Subject: x86/panic: replace smp_send_stop() with kdump friendly version in > panic path > > This patch fixes a problem reported by Daniel Walker > (https://lkml.org/lkml/2015/6/24/44). > > When kernel panics with crash_kexec_post_notifiers kernel parameter > enabled, other CPUs are stopped by smp_send_stop() instead of > machine_crash_shutdown() in __crash_kexec() path. > > panic() > if crash_kexec_post_notifiers == 1 > smp_send_stop() > atomic_notifier_call_chain() > kmsg_dump() > __crash_kexec() > machine_crash_shutdown() > > Different from smp_send_stop(), machine_crash_shutdown() stops other > CPUs with extra works for kdump. So, if smp_send_stop() stops other > CPUs in advance, these extra works won't be done. For x86, kdump > routines miss to save other CPUs' registers and disable virtualization > extensions. > > To fix this problem, call a new kdump friendly function, > crash_smp_send_stop(), instead of the smp_send_stop() when > crash_kexec_post_notifiers is enabled. crash_smp_send_stop() is a > weak function, and it just call smp_send_stop(). Architecture > codes should override it so that kdump can work appropriately. > This patch only provides x86-specific version. > > For Xen's PV kernel, just keep the current behavior. > As for Dom0, it doesn't use crash_kexec routines, and it relies on > panic notifier chain. At the end of the chain, a hypercall is > issued which requests the hypervisor to execute kdump. This means > regardless of crash_kexec_post_notifiers setting, smp_send_stop(). > For PV HVM, it would work similarly to baremetal kernels with extra > cleanups for hypervisor. It doesn't need additional care. > > Changes in V4: > - Keep to use smp_send_stop if crash_kexec_post_notifiers is not set > - Rename panic_smp_send_stop to crash_smp_send_stop > - Don't change the behavior for Xen's PV kernel > > Changes in V3: > - Revise comments, description, and symbol names > > Changes in V2: > - Replace smp_send_stop() call with crash_kexec version which > saves cpu states and cleans up VMX/SVM > - Drop a fix for Problem 1 at this moment > > Fixes: f06e5153f4ae (kernel/panic.c: add "crash_kexec_post_notifiers" option) > Link: > http://lkml.kernel.org/r/20160810080948.11028.15344.st...@sysi4-13.yrl.intra.hitachi.co.jp > Signed-off-by: Hidehiro Kawai <[email protected]> > Reported-by: Daniel Walker <[email protected]> > Cc: Dave Young <[email protected]> > Cc: Baoquan He <[email protected]> > Cc: Vivek Goyal <[email protected]> > Cc: Eric Biederman <[email protected]> > Cc: Masami Hiramatsu <[email protected]> > Cc: Daniel Walker <[email protected]> > Cc: Xunlei Pang <[email protected]> > Cc: Thomas Gleixner <[email protected]> > Cc: Ingo Molnar <[email protected]> > Cc: "H. Peter Anvin" <[email protected]> > Cc: Borislav Petkov <[email protected]> > Cc: David Vrabel <[email protected]> > Cc: Toshi Kani <[email protected]> > Cc: Ralf Baechle <[email protected]> > Cc: David Daney <[email protected]> > Cc: Aaro Koskinen <[email protected]> > Cc: "Steven J. Hill" <[email protected]> > Cc: Corey Minyard <[email protected]> > Signed-off-by: Andrew Morton <[email protected]> > [snip] Thanks Dave

