aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/perf_event.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index dadeaea4b3fc..64a018e94fca 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -5810,16 +5810,9 @@ static void task_clock_event_del(struct perf_event *event, int flags)
5810 5810
5811static void task_clock_event_read(struct perf_event *event) 5811static void task_clock_event_read(struct perf_event *event)
5812{ 5812{
5813 u64 time; 5813 u64 now = perf_clock();
5814 5814 u64 delta = now - event->ctx->timestamp;
5815 if (!in_nmi()) { 5815 u64 time = event->ctx->time + delta;
5816 update_context_time(event->ctx);
5817 time = event->ctx->time;
5818 } else {
5819 u64 now = perf_clock();
5820 u64 delta = now - event->ctx->timestamp;
5821 time = event->ctx->time + delta;
5822 }
5823 5816
5824 task_clock_event_update(event, time); 5817 task_clock_event_update(event, time);
5825} 5818}