Re: [PATCH] perf, cgroup: Fix up for new API

From: Ben Blum
Date: Mon May 30 2011 - 13:20:24 EST


On Mon, May 30, 2011 at 05:00:51PM +0200, Peter Zijlstra wrote:
> Subject: perf, cgroup: Fix up for new API
> From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Date: Mon May 30 16:48:06 CEST 2011
>
> Ben changed the API but forgot to convert everybody...
>
> Cc: Ben Blum <bblum@xxxxxxxxxxxxxx>
> Cc: Stephane Eranian <eranian@xxxxxxxxxx>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>

Oops - I guess I missed the new subsystem when I refreshed against
2.6.39. This looks good to me.

Acked-by: Ben Blum <bblum@xxxxxxxxxxxxxx>

> ---
> kernel/events/core.c | 22 ++++------------------
> 1 file changed, 4 insertions(+), 18 deletions(-)
>
> Index: linux-2.6/kernel/events/core.c
> ===================================================================
> --- linux-2.6.orig/kernel/events/core.c
> +++ linux-2.6/kernel/events/core.c
> @@ -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 cgro
> 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 */
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/