|
@@ -3670,6 +3670,10 @@ void perf_event_update_userpage(struct perf_event *event)
|
|
|
u64 enabled, running, now;
|
|
|
|
|
|
rcu_read_lock();
|
|
|
+ rb = rcu_dereference(event->rb);
|
|
|
+ if (!rb)
|
|
|
+ goto unlock;
|
|
|
+
|
|
|
/*
|
|
|
* compute total_time_enabled, total_time_running
|
|
|
* based on snapshot values taken when the event
|
|
@@ -3680,12 +3684,8 @@ void perf_event_update_userpage(struct perf_event *event)
|
|
|
* NMI context
|
|
|
*/
|
|
|
calc_timer_values(event, &now, &enabled, &running);
|
|
|
- rb = rcu_dereference(event->rb);
|
|
|
- if (!rb)
|
|
|
- goto unlock;
|
|
|
|
|
|
userpg = rb->user_page;
|
|
|
-
|
|
|
/*
|
|
|
* Disable preemption so as to not let the corresponding user-space
|
|
|
* spin too long if we get preempted.
|