Skip to content

Commit

Permalink
perf, cgroups: Fix up for new API
Browse files Browse the repository at this point in the history
Ben changed the cgroup API in commit f780bdb (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 ;-)

Acked-by: Ben Blum <[email protected]>
Cc: Stephane Eranian <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/1306767651.1200.2990.camel@twins
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
Peter Zijlstra authored and Ingo Molnar committed May 31, 2011
1 parent 89e1be5 commit 74c355f
Showing 1 changed file with 4 additions and 18 deletions.
22 changes: 4 additions & 18 deletions kernel/events/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand All @@ -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 = {
Expand All @@ -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 */

0 comments on commit 74c355f

Please sign in to comment.