2009-10-22 16:34:06

by Soeren Sandmann

[permalink] [raw]
Subject: [PATCH 2/2 -tip] perf: 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 <[email protected]>
---
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 b492c55..7bc84cb 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);
--
1.6.5.rc2