summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2010-11-24 18:55:29 +0100
committerIngo Molnar <mingo@elte.hu>2010-11-26 15:14:55 +0100
commit963988262c3c8f4234f64a0dde59446a295e07bb (patch)
tree4bdb97b340fe0432f7259bfcc7b64b4bc8d65c2d
parent5d508e820a23d9b6e8a149dfaa8ba5cbedf3d95c (diff)
downloadop-kernel-dev-963988262c3c8f4234f64a0dde59446a295e07bb.zip
op-kernel-dev-963988262c3c8f4234f64a0dde59446a295e07bb.tar.gz
perf: Ignore non-sampling overflows
Some arch implementations call perf_event_overflow() by 'accident', ignore this. Reported-by: Francis Moreau <francis.moro@gmail.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--kernel/perf_event.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 98c5549..af1e63f 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4240,6 +4240,13 @@ static int __perf_event_overflow(struct perf_event *event, int nmi,
struct hw_perf_event *hwc = &event->hw;
int ret = 0;
+ /*
+ * Non-sampling counters might still use the PMI to fold short
+ * hardware counters, ignore those.
+ */
+ if (unlikely(!is_sampling_event(event)))
+ return 0;
+
if (!throttle) {
hwc->interrupts++;
} else {
OpenPOWER on IntegriCloud