diff --git a/kernel/events/core.c b/kernel/events/core.c index 0e8457da6f9551c3eae667a6ac09a735a341b4bf..b0c1186fd97bcdaed7e8cdb537d9a61740bb86f3 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -2173,7 +2173,8 @@ static void perf_event_context_sched_in(struct perf_event_context *ctx, perf_event_sched_in(cpuctx, ctx, task); - cpuctx->task_ctx = ctx; + if (ctx->nr_events) + cpuctx->task_ctx = ctx; perf_pmu_enable(ctx->pmu); perf_ctx_unlock(cpuctx, ctx);