diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-11-20 22:19:52 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-11-21 14:11:39 +0100 |
commit | 3dbebf15c5d3e265f751eec72c1538a00da4be27 (patch) | |
tree | 66aa74aee095f2031b7c79a3762e22ca2a765174 /kernel/perf_event.c | |
parent | perf: Optimize __perf_event_read() (diff) | |
download | linux-3dbebf15c5d3e265f751eec72c1538a00da4be27.tar.xz linux-3dbebf15c5d3e265f751eec72c1538a00da4be27.zip |
perf: Simplify __perf_event_sync_stat
Removes constraints from __perf_event_read() by leaving it with
a single callsite; this callsite had ctx->lock held, the other
one does not.
Removes some superfluous code from __perf_event_sync_stat().
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <20091120212508.918544317@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/perf_event.c')
-rw-r--r-- | kernel/perf_event.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c index e66f6c400d13..af150bbcfc5b 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -1061,8 +1061,6 @@ static int context_equiv(struct perf_event_context *ctx1, && !ctx1->pin_count && !ctx2->pin_count; } -static void __perf_event_read(void *event); - static void __perf_event_sync_stat(struct perf_event *event, struct perf_event *next_event) { @@ -1080,8 +1078,8 @@ static void __perf_event_sync_stat(struct perf_event *event, */ switch (event->state) { case PERF_EVENT_STATE_ACTIVE: - __perf_event_read(event); - break; + event->pmu->read(event); + /* fall-through */ case PERF_EVENT_STATE_INACTIVE: update_event_times(event); |