diff options
author | Peter Zijlstra <peterz@infradead.org> | 2012-03-22 12:26:36 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-03-23 04:52:16 -0400 |
commit | c7206205d00ab375839bd6c7ddb247d600693c09 (patch) | |
tree | 24b9d66a5eaef77c1fc40bc8f6f28acfd167bf5b /kernel | |
parent | c5bc437702b24817cabd65a6a57971ff91a7712c (diff) |
perf: Fix mmap_page capabilities and docs
Complete the syscall-less self-profiling feature and address
all complaints, namely:
- capabilities, so we can detect what is actually available at runtime
Add a capabilities field to perf_event_mmap_page to indicate
what is actually available for use.
- on x86: RDPMC weirdness due to being 40/48 bits and not sign-extending
properly.
- ABI documentation as to how all this stuff works.
Also improve the documentation for the new features.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Vince Weaver <vweaver1@eecs.utk.edu>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1332433596.2487.33.camel@twins
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/events/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index c61234b1a988..dc3b05272511 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
@@ -3348,7 +3348,7 @@ static void calc_timer_values(struct perf_event *event, | |||
3348 | *running = ctx_time - event->tstamp_running; | 3348 | *running = ctx_time - event->tstamp_running; |
3349 | } | 3349 | } |
3350 | 3350 | ||
3351 | void __weak perf_update_user_clock(struct perf_event_mmap_page *userpg, u64 now) | 3351 | void __weak arch_perf_update_userpage(struct perf_event_mmap_page *userpg, u64 now) |
3352 | { | 3352 | { |
3353 | } | 3353 | } |
3354 | 3354 | ||
@@ -3398,7 +3398,7 @@ void perf_event_update_userpage(struct perf_event *event) | |||
3398 | userpg->time_running = running + | 3398 | userpg->time_running = running + |
3399 | atomic64_read(&event->child_total_time_running); | 3399 | atomic64_read(&event->child_total_time_running); |
3400 | 3400 | ||
3401 | perf_update_user_clock(userpg, now); | 3401 | arch_perf_update_userpage(userpg, now); |
3402 | 3402 | ||
3403 | barrier(); | 3403 | barrier(); |
3404 | ++userpg->lock; | 3404 | ++userpg->lock; |