perf, cgroup: Fix up for new API
Peter Zijlstra
maintainerPATCH 1/1 perf, cgroup: Fix up for new API
Subject: perf, cgroup: Fix up for new API
From: Peter Zijlstra <[email protected]>
Date: Mon May 30 16:48:06 CEST 2011
Ben changed the API but forgot to convert everybody...
--- kernel/events/core.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-)
kernel/events/core.c +4 -18
@@ -7394,26 +7394,12 @@ static int __perf_cgroup_move(void *inforeturn 0 ; } -static void perf_cgroup_move (struct task_struct *task) +static void +perf_cgroup_attach_task (struct cgroup *cgrp,struct task_struct *task) {task_function_call (task, __perf_cgroup_move, task); } -static void perf_cgroup_attach (struct cgroup_subsys *ss,struct cgroup *cgrp, -struct cgroup *old_cgrp,struct task_struct *task, -bool threadgroup) -{ -perf_cgroup_move (task); -if (threadgroup) { -struct task_struct *c; -rcu_read_lock (); -list_for_each_entry_rcu (c, &task->thread_group, thread_group) { -perf_cgroup_move (c); - } -rcu_read_unlock (); - } -} -static void perf_cgroup_exit (struct cgroup_subsys *ss,struct cgroup *cgrp,struct cgroup *old_cgrp,struct task_struct *task) {
@@ -7425,7 +7411,7 @@ static void perf_cgroup_exit(struct cgroif (!(task->flags &PF_EXITING ))return ; -perf_cgroup_move (task); +perf_cgroup_attach_task (cgrp, task); }struct cgroup_subsys perf_subsys = {
@@ -7434,6 +7420,6 @@ struct cgroup_subsys perf_subsys = { .create = perf_cgroup_create, .destroy = perf_cgroup_destroy, .exit = perf_cgroup_exit, - .attach = perf_cgroup_attach, + .attach_task = perf_cgroup_attach_task, };#endif /* CONFIG_CGROUP_PERF */
Quoted 9 lines · Peter Zijlstra
Subject: perf, cgroup: Fix up for new API
From: Peter Zijlstra <[email protected]>
Date: Mon May 30 16:48:06 CEST 2011Ben changed the API but forgot to convert everybody...
Cc Ben Blum <[email protected]>Cc Stephane Eranian <[email protected]>Signed-off-by Peter Zijlstra <[email protected]>
Oops - I guess I missed the new subsystem when I refreshed against 2.6.39. This looks good to me.
Quoted 56 lines
--- kernel/events/core.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-)Index:
linux-2.6/kernel/events/core.c
===================================================================kernel/events/core.c +4
-18@@ -7394,26 +7394,12 @@ static int __perf_cgroup_move(void *inforeturn 0 ; } -static void perf_cgroup_move (struct task_struct *task) +static void +perf_cgroup_attach_task (struct cgroup *cgrp,struct task_struct *task) {task_function_call (task, __perf_cgroup_move, task); } -static void perf_cgroup_attach (struct cgroup_subsys *ss,struct cgroup *cgrp, -struct cgroup *old_cgrp,struct task_struct *task, -bool threadgroup) -{ -perf_cgroup_move (task); -if (threadgroup) { -struct task_struct *c; -rcu_read_lock (); -list_for_each_entry_rcu (c, &task->thread_group, thread_group) { -perf_cgroup_move (c); - } -rcu_read_unlock (); - } -} -static void perf_cgroup_exit (struct cgroup_subsys *ss,struct cgroup *cgrp,struct cgroup *old_cgrp,struct task_struct *task) {@@ -7425,7 +7411,7 @@ static void perf_cgroup_exit(struct cgroif (!(task->flags &PF_EXITING ))return ; -perf_cgroup_move (task); +perf_cgroup_attach_task (cgrp, task); }struct cgroup_subsys perf_subsys = {@@ -7434,6 +7420,6 @@ struct cgroup_subsys perf_subsys = { .create = perf_cgroup_create, .destroy = perf_cgroup_destroy, .exit = perf_cgroup_exit, - .attach = perf_cgroup_attach, + .attach_task = perf_cgroup_attach_task, };#endif /* CONFIG_CGROUP_PERF */
[tip:perf/urgent] perf, cgroups: Fix up for new API
In reply to Peter ZijlstraCommit-ID: 74c355fbdfedd3820046dba4f537876cea54c207 Gitweb: http://git.kernel.org/tip/74c355fbdfedd3820046dba4f537876cea54c207 Author: Peter Zijlstra <[email protected]> AuthorDate: Mon, 30 May 2011 16:48:06 +0200 Committer: Ingo Molnar <[email protected]> CommitDate: Tue, 31 May 2011 14:20:25 +0200
perf, cgroups: Fix up for new API
Ben changed the cgroup API in commit f780bdb7c1c (cgroups: add per-thread subsystem callbacks) in an incompatible way, but forgot to convert the perf cgroup bits.
Avoid compile warnings and runtime splats and convert perf too ;-)
--- kernel/events/core.c | 22 ++++------------------ 1 files changed, 4 insertions(+), 18 deletions(-)
kernel/events/core.c +4 -18
@@ -7394,26 +7394,12 @@ static int __perf_cgroup_move(void *info)return 0 ; } -static void perf_cgroup_move (struct task_struct *task) +static void +perf_cgroup_attach_task (struct cgroup *cgrp,struct task_struct *task) {task_function_call (task, __perf_cgroup_move, task); } -static void perf_cgroup_attach (struct cgroup_subsys *ss,struct cgroup *cgrp, -struct cgroup *old_cgrp,struct task_struct *task, -bool threadgroup) -{ -perf_cgroup_move (task); -if (threadgroup) { -struct task_struct *c; -rcu_read_lock (); -list_for_each_entry_rcu (c, &task->thread_group, thread_group) { -perf_cgroup_move (c); - } -rcu_read_unlock (); - } -} -static void perf_cgroup_exit (struct cgroup_subsys *ss,struct cgroup *cgrp,struct cgroup *old_cgrp,struct task_struct *task) {
@@ -7425,7 +7411,7 @@ static void perf_cgroup_exit(struct cgroup_subsys *ss, struct cgroup *cgrp,if (!(task->flags &PF_EXITING ))return ; -perf_cgroup_move (task); +perf_cgroup_attach_task (cgrp, task); }struct cgroup_subsys perf_subsys = {
@@ -7434,6 +7420,6 @@ struct cgroup_subsys perf_subsys = { .create = perf_cgroup_create, .destroy = perf_cgroup_destroy, .exit = perf_cgroup_exit, - .attach = perf_cgroup_attach, + .attach_task = perf_cgroup_attach_task, };#endif /* CONFIG_CGROUP_PERF */