perf_counters: account NMI interrupts

I noticed that kerneltop interrupts were accounted as NMI, but not their
perf counter origin.

Account NMI performance counter interrupts.

Signed-off-by: Mike Galbraith  <efault@gmx.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

 arch/x86/kernel/cpu/perf_counter.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
This commit is contained in:
Mike Galbraith 2009-02-09 07:38:50 +01:00 committed by Ingo Molnar
parent 23a185ca8a
commit d278c48435
1 changed files with 1 additions and 1 deletions

View File

@ -495,6 +495,7 @@ static void __smp_perf_counter_interrupt(struct pt_regs *regs, int nmi)
goto out; goto out;
again: again:
inc_irq_stat(apic_perf_irqs);
ack = status; ack = status;
for_each_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) { for_each_bit(bit, (unsigned long *)&status, X86_PMC_IDX_MAX) {
struct perf_counter *counter = cpuc->counters[bit]; struct perf_counter *counter = cpuc->counters[bit];
@ -570,7 +571,6 @@ void perf_counter_unthrottle(void)
void smp_perf_counter_interrupt(struct pt_regs *regs) void smp_perf_counter_interrupt(struct pt_regs *regs)
{ {
irq_enter(); irq_enter();
inc_irq_stat(apic_perf_irqs);
apic_write(APIC_LVTPC, LOCAL_PERF_VECTOR); apic_write(APIC_LVTPC, LOCAL_PERF_VECTOR);
__smp_perf_counter_interrupt(regs, 0); __smp_perf_counter_interrupt(regs, 0);