[PATCH] x86_64: cpu hotplug changes kills nmi watchdog
authorAlexander Nyberg <alexn@telia.com>
Fri, 29 Jul 2005 04:15:20 +0000 (21:15 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 29 Jul 2005 04:45:57 +0000 (21:45 -0700)
When the x86_64 cpu hotplug changes went in it added a check in
default_do_nmi() which kills NMI delivery on any CPU but the BSP.

The NMI watchdog is brought up quite some time before the online bit is set
in num_online_cpus so this won't work very well.  The nmi watchdogs on cpus
that are not BSP will never be reprogrammed and no NMIs.

Why was this check added? How does an offlined cpu receive an NMI?

Signed-off-by: Alexander Nyberg <alexn@telia.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Zwane Mwaikambo <zwane@arm.linux.org.uk>
Cc: <ashok.raj@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/traps.c

index 1027366300022f8846f9bd9a573d0c528f4261e0..6ead433a38851783a915e1abd44269a69cd90d90 100644 (file)
@@ -594,9 +594,6 @@ asmlinkage void default_do_nmi(struct pt_regs *regs)
        if (!cpu)
                reason = get_nmi_reason();
 
-       if (!cpu_online(cpu))
-               return;
-
        if (!(reason & 0xc0)) {
                if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 0, SIGINT)
                                                                == NOTIFY_STOP)