[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:
Shaohua Li 2005-12-12 00:37:02 -08:00 committed by Linus Torvalds
parent b3e55c727f
commit 82584ef75b

View file

@ -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))