* [tip:perf/core] perf: Simplify perf_event_exit_task_context()
@ 2014-05-08 10:45 tip-bot for Peter Zijlstra
0 siblings, 0 replies; only message in thread
From: tip-bot for Peter Zijlstra @ 2014-05-08 10:45 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, eranian, paulus, hpa, mingo, torvalds, peterz, acme,
vincent.weaver, tglx
Commit-ID: 3a497f48637e2aac17eabb84a17f8ac5216028fc
Gitweb: http://git.kernel.org/tip/3a497f48637e2aac17eabb84a17f8ac5216028fc
Author: Peter Zijlstra <peterz@infradead.org>
AuthorDate: Mon, 5 May 2014 12:42:29 +0200
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 7 May 2014 13:44:19 +0200
perf: Simplify perf_event_exit_task_context()
Instead of jumping through hoops to make sure to find (and exit) each
event, do it the simple straight fwd way.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-tij931199thfkys8vbnokdpf@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
kernel/events/core.c | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 83505a3..7ab734f 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7485,24 +7485,9 @@ static void perf_event_exit_task_context(struct task_struct *child, int ctxn)
*/
mutex_lock(&child_ctx->mutex);
-again:
- list_for_each_entry_safe(child_event, tmp, &child_ctx->pinned_groups,
- group_entry)
- __perf_event_exit_task(child_event, child_ctx, child);
-
- list_for_each_entry_safe(child_event, tmp, &child_ctx->flexible_groups,
- group_entry)
+ list_for_each_entry_rcu(child_event, &child_ctx->event_list, event_entry)
__perf_event_exit_task(child_event, child_ctx, child);
- /*
- * If the last event was a group event, it will have appended all
- * its siblings to the list, but we obtained 'tmp' before that which
- * will still point to the list head terminating the iteration.
- */
- if (!list_empty(&child_ctx->pinned_groups) ||
- !list_empty(&child_ctx->flexible_groups))
- goto again;
-
mutex_unlock(&child_ctx->mutex);
put_ctx(child_ctx);
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2014-05-08 10:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-08 10:45 [tip:perf/core] perf: Simplify perf_event_exit_task_context() tip-bot for Peter Zijlstra
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.