diff options
author | Soeren Sandmann <sandmann@daimi.au.dk> | 2009-10-22 18:34:08 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-10-23 09:35:02 +0200 |
commit | 54f4407608c59712a8f5ec1e10dfac40bef5a2e7 (patch) | |
tree | 78ab139c78b084d597c3a198b0b713b89ce23da5 | |
parent | 721a669b7225edeeb0ca8e2bf71b83882326a71b (diff) |
perf events: Don't generate events for the idle task when exclude_idle is set
Getting samples for the idle task is often not interesting, so
don't generate them when exclude_idle is set for the event in
question.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <ye8pr8fmlq7.fsf@camel16.daimi.au.dk>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | kernel/perf_event.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 33ff019f9aa..7f29643c898 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -3959,8 +3959,9 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer) regs = task_pt_regs(current); if (regs) { - if (perf_event_overflow(event, 0, &data, regs)) - ret = HRTIMER_NORESTART; + if (!(event->attr.exclude_idle && current->pid == 0)) + if (perf_event_overflow(event, 0, &data, regs)) + ret = HRTIMER_NORESTART; } period = max_t(u64, 10000, event->hw.sample_period); |