[RFC][PATCH 1/5] perf: Check if we should exclude idle thread in perf_exclude_event()

From: Matt Fleming
Date: Mon Aug 30 2010 - 08:13:54 EST


Don't open code the event check for excluding the idle thread. Instead
include the check in perf_exclude_event().

Signed-off-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxx>
---
kernel/perf_event.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 0d38f27..16b0476 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4310,6 +4310,9 @@ static int perf_exclude_event(struct perf_event *event,

if (event->attr.exclude_kernel && !user_mode(regs))
return 1;
+
+ if (event->attr.exclude_idle && current->pid == 0)
+ return 1;
}

return 0;
@@ -4512,9 +4515,8 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer)
regs = get_irq_regs();

if (regs && !perf_exclude_event(event, regs)) {
- if (!(event->attr.exclude_idle && current->pid == 0))
- if (perf_event_overflow(event, 0, &data, regs))
- ret = HRTIMER_NORESTART;
+ if (perf_event_overflow(event, 0, &data, regs))
+ ret = HRTIMER_NORESTART;
}

period = max_t(u64, 10000, event->hw.sample_period);
--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/