perf_counter: fix nmi-watchdog interaction
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Fri, 1 May 2009 10:23:17 +0000 (12:23 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 1 May 2009 11:23:44 +0000 (13:23 +0200)
When we don't have any perf-counters active, don't act like we know
what the NMI is for.

[ Impact: fix hard hang with nmi_watchdog=2 ]

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
LKML-Reference: <20090501102533.109867793@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/perf_counter.c

index fc06f4d326447aebf7fc670b33051216886a19bf..d4c0cc9d326370e2992d77d378d891c77ca9d71e 100644 (file)
@@ -871,6 +871,9 @@ perf_counter_nmi_handler(struct notifier_block *self,
        struct pt_regs *regs;
        int ret;
 
+       if (!atomic_read(&num_counters))
+               return NOTIFY_DONE;
+
        switch (cmd) {
        case DIE_NMI:
        case DIE_NMI_IPI: