[PATCH] x86: fix NMI with CPU hotplug
With CPU hotplug enabled, NMI watchdog stoped working. It appears the violation is the cpu_online check in nmi handler. local ACPI based NMI watchdog is initialized before we set CPU online for APs. It's quite possible a NMI is fired before we set CPU online, and that's what happens here. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Acked-by: Zwane Mwaikambo <zwane@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b3e55c727f
commit
82584ef75b
|
@ -650,13 +650,6 @@ fastcall void do_nmi(struct pt_regs * regs, long error_code)
|
|||
|
||||
cpu = smp_processor_id();
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
if (!cpu_online(cpu)) {
|
||||
nmi_exit();
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
++nmi_count(cpu);
|
||||
|
||||
if (!rcu_dereference(nmi_callback)(regs, cpu))
|
||||
|
|
Loading…
Reference in New Issue