From a14972c6a80fad8457d4330afef6549a49734921 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Sat, 9 Apr 2011 21:17:48 +0200 Subject: [PATCH] --- yaml --- r: 257023 b: refs/heads/master c: 64ce312618ef0e11d88def80effcefd1b59fdb1e h: refs/heads/master i: 257021: 1e7ce253c7bfa68f4c3037040875592212bd43c3 257019: ee20f3c2a27c70aee1a93a56ba77998ea242ff20 257015: d57b0f6200cfaed5d96e4b2ea4b0c243de0f8653 257007: c55f8dc993b17926699794c5d9c94c7c25f1a237 256991: 0abe053ebe81f6e74592b25a0ea07fab1b39dfbf 256959: 9e7eda2a4a561f3c0ae2f69cf093eb161aa85d7e 256895: 4a4774f701699179145dd18fa835338ef10e77dc 256767: e98e0c4e321bf9098cd852761c375b7cd6e304dc 256511: 910d986cd669dbb16f8cac65c92b26003dbc75c7 255999: 8b6a99da2af5793bce7e358301aef57a9138a732 v: v3 --- [refs] | 2 +- trunk/kernel/events/core.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f64af89724ef..11ef653bec59 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e03a9a55b4e45377af9ca3d464135f9ea280b8f8 +refs/heads/master: 64ce312618ef0e11d88def80effcefd1b59fdb1e diff --git a/trunk/kernel/events/core.c b/trunk/kernel/events/core.c index c378062da277..cc5d57d1d0b6 100644 --- a/trunk/kernel/events/core.c +++ b/trunk/kernel/events/core.c @@ -1120,6 +1120,10 @@ static int __perf_remove_from_context(void *info) raw_spin_lock(&ctx->lock); event_sched_out(event, cpuctx, ctx); list_del_event(event, ctx); + if (!ctx->nr_events && cpuctx->task_ctx == ctx) { + ctx->is_active = 0; + cpuctx->task_ctx = NULL; + } raw_spin_unlock(&ctx->lock); return 0;