Skip to content

Commit

Permalink
perf, x86: P4 PMU - Don't forget to clear cpuc->active_mask on overflow
Browse files Browse the repository at this point in the history
It's not enough to simply disable event on overflow the
cpuc->active_mask should be cleared as well otherwise counter
may stall in "active" even in real being already disabled (which
potentially may lead to the situation that user may not use this
counter further).

Don pointed out that:

 " I also noticed this patch fixed some unknown NMIs
   on a P4 when I stressed the box".

Tested-by: Lin Ming <[email protected]>
Signed-off-by: Cyrill Gorcunov <[email protected]>
Acked-by: Don Zickus <[email protected]>
Signed-off-by: Don Zickus <[email protected]>
Cc: Cyrill Gorcunov <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
cyrillos authored and Ingo Molnar committed Apr 22, 2011
1 parent b52c55c commit 1ea5a6a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/x86/kernel/cpu/perf_event_p4.c
Original file line number Diff line number Diff line change
Expand Up @@ -947,7 +947,7 @@ static int p4_pmu_handle_irq(struct pt_regs *regs)
if (!x86_perf_event_set_period(event))
continue;
if (perf_event_overflow(event, 1, &data, regs))
p4_pmu_disable_event(event);
x86_pmu_stop(event, 0);
}

if (handled) {
Expand Down

0 comments on commit 1ea5a6a

Please sign in to comment.