diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2011-11-21 14:58:59 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-12-21 05:01:09 -0500 |
commit | 365a4038486b57bb2bd516706a80f82f250f5306 (patch) | |
tree | e1c435230121dd794e706509e3140584ecfb0ac8 /kernel/events | |
parent | 35edc2a5095efb189e60dc32bbb9d2663aec6d24 (diff) |
perf: Fix mmap_page::offset computation
There's multiple reason the counter might be unavailable, change the
condition to !->index since perf_event_index() should return 0 for all
those cases.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-1ixr3olci40w8rgv2evv2ldh@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/events')
-rw-r--r-- | kernel/events/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 3894309c41a..05affc3878f 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
@@ -3268,7 +3268,7 @@ void perf_event_update_userpage(struct perf_event *event) | |||
3268 | barrier(); | 3268 | barrier(); |
3269 | userpg->index = perf_event_index(event); | 3269 | userpg->index = perf_event_index(event); |
3270 | userpg->offset = perf_event_count(event); | 3270 | userpg->offset = perf_event_count(event); |
3271 | if (event->state == PERF_EVENT_STATE_ACTIVE) | 3271 | if (userpg->index) |
3272 | userpg->offset -= local64_read(&event->hw.prev_count); | 3272 | userpg->offset -= local64_read(&event->hw.prev_count); |
3273 | 3273 | ||
3274 | userpg->time_enabled = enabled + | 3274 | userpg->time_enabled = enabled + |