diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-05-01 12:23:17 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-05-01 13:23:44 +0200 |
commit | 63a809a2dc53b91268dd915bbcbd425063893676 (patch) | |
tree | 5eafd0e921a7178f9e25695133863dde66f25de3 | |
parent | c33a0bc4e41ef169d6e807d8abb9502544b518e5 (diff) | |
download | blackbird-op-linux-63a809a2dc53b91268dd915bbcbd425063893676.tar.gz blackbird-op-linux-63a809a2dc53b91268dd915bbcbd425063893676.zip |
perf_counter: fix nmi-watchdog interaction
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>
-rw-r--r-- | arch/x86/kernel/cpu/perf_counter.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/perf_counter.c b/arch/x86/kernel/cpu/perf_counter.c index fc06f4d32644..d4c0cc9d3263 100644 --- a/arch/x86/kernel/cpu/perf_counter.c +++ b/arch/x86/kernel/cpu/perf_counter.c @@ -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: |