diff options
Diffstat (limited to 'kernel/events/core.c')
-rw-r--r-- | kernel/events/core.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 4b50357914fb..a6a9ec4cd8f5 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; |
@@ -7116,6 +7116,13 @@ void __init perf_event_init(void) | |||
7116 | 7116 | ||
7117 | /* do not patch jump label more than once per second */ | 7117 | /* do not patch jump label more than once per second */ |
7118 | jump_label_rate_limit(&perf_sched_events, HZ); | 7118 | jump_label_rate_limit(&perf_sched_events, HZ); |
7119 | |||
7120 | /* | ||
7121 | * Build time assertion that we keep the data_head at the intended | ||
7122 | * location. IOW, validation we got the __reserved[] size right. | ||
7123 | */ | ||
7124 | BUILD_BUG_ON((offsetof(struct perf_event_mmap_page, data_head)) | ||
7125 | != 1024); | ||
7119 | } | 7126 | } |
7120 | 7127 | ||
7121 | static int __init perf_event_sysfs_init(void) | 7128 | static int __init perf_event_sysfs_init(void) |