perf/core: Update ctx time before detaching events
authorPeter Zijlstra <peterz@infradead.org>
Tue, 5 Sep 2017 11:24:28 +0000 (13:24 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 27 Oct 2017 08:31:57 +0000 (10:31 +0200)
We should make sure the ctx time is updated before we detach events;
which will want to update event times.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/events/core.c

index d636f1d0e2abf8b2a39df0e6c35224c85c325816..5fae98626b159767842ad59c56af1754cecd49ce 100644 (file)
@@ -11129,6 +11129,7 @@ static void __perf_event_exit_context(void *__info)
        struct perf_event *event;
 
        raw_spin_lock(&ctx->lock);
+       ctx_sched_out(ctx, cpuctx, EVENT_TIME);
        list_for_each_entry(event, &ctx->event_list, event_entry)
                __perf_remove_from_context(event, cpuctx, ctx, (void *)DETACH_GROUP);
        raw_spin_unlock(&ctx->lock);