From: Peter Zijlstra Date: Mon, 23 Nov 2009 10:37:25 +0000 (+0100) Subject: perf_events: Disable events when we detach them X-Git-Tag: v2.6.33-rc1~48^2~226 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2e2af50b1fab3c40636839a7f439c167ae559533;p=platform%2Fkernel%2Flinux-3.10.git perf_events: Disable events when we detach them If we leave the event in STATE_INACTIVE, any read of the event after the detach will increase the running count but not the enabled count and cause funny scaling artefacts. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20091123103819.689055515@chello.nl> Signed-off-by: Ingo Molnar --- diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 1f14481..fb851ec 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -294,6 +294,8 @@ list_del_event(struct perf_event *event, struct perf_event_context *ctx) if (event->group_leader != event) event->group_leader->nr_siblings--; + event->state = PERF_EVENT_STATE_OFF; + /* * If this was a group event with sibling events then * upgrade the siblings to singleton events by adding them