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:
Родитель
23a185ca8a
Коммит
d278c48435
|
@ -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);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче