aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/events
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-20 21:11:21 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-20 21:11:21 -0400
commit0d9cabdccedb79ee5f27b77ff51f29a9e7d23275 (patch)
tree8bfb64c3672d058eb90aec3c3a9c4f61cef9097c /kernel/events
parent701085b219016d38f105b031381b9cee6200253a (diff)
parent3ce3230a0cff484e5130153f244d4fb8a56b3a8b (diff)
Merge branch 'for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup changes from Tejun Heo: "Out of the 8 commits, one fixes a long-standing locking issue around tasklist walking and others are cleanups." * 'for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list cgroup: Remove wrong comment on cgroup_enable_task_cg_list() cgroup: remove cgroup_subsys argument from callbacks cgroup: remove extra calls to find_existing_css_set cgroup: replace tasklist_lock with rcu_read_lock cgroup: simplify double-check locking in cgroup_attach_proc cgroup: move struct cgroup_pidlist out from the header file cgroup: remove cgroup_attach_task_current_cg()
Diffstat (limited to 'kernel/events')
-rw-r--r--kernel/events/core.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index c61234b1a988..4b50357914fb 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7147,8 +7147,7 @@ unlock:
7147device_initcall(perf_event_sysfs_init); 7147device_initcall(perf_event_sysfs_init);
7148 7148
7149#ifdef CONFIG_CGROUP_PERF 7149#ifdef CONFIG_CGROUP_PERF
7150static struct cgroup_subsys_state *perf_cgroup_create( 7150static struct cgroup_subsys_state *perf_cgroup_create(struct cgroup *cont)
7151 struct cgroup_subsys *ss, struct cgroup *cont)
7152{ 7151{
7153 struct perf_cgroup *jc; 7152 struct perf_cgroup *jc;
7154 7153
@@ -7165,8 +7164,7 @@ static struct cgroup_subsys_state *perf_cgroup_create(
7165 return &jc->css; 7164 return &jc->css;
7166} 7165}
7167 7166
7168static void perf_cgroup_destroy(struct cgroup_subsys *ss, 7167static void perf_cgroup_destroy(struct cgroup *cont)
7169 struct cgroup *cont)
7170{ 7168{
7171 struct perf_cgroup *jc; 7169 struct perf_cgroup *jc;
7172 jc = container_of(cgroup_subsys_state(cont, perf_subsys_id), 7170 jc = container_of(cgroup_subsys_state(cont, perf_subsys_id),
@@ -7182,8 +7180,7 @@ static int __perf_cgroup_move(void *info)
7182 return 0; 7180 return 0;
7183} 7181}
7184 7182
7185static void perf_cgroup_attach(struct cgroup_subsys *ss, struct cgroup *cgrp, 7183static void perf_cgroup_attach(struct cgroup *cgrp, struct cgroup_taskset *tset)
7186 struct cgroup_taskset *tset)
7187{ 7184{
7188 struct task_struct *task; 7185 struct task_struct *task;
7189 7186
@@ -7191,8 +7188,8 @@ static void perf_cgroup_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
7191 task_function_call(task, __perf_cgroup_move, task); 7188 task_function_call(task, __perf_cgroup_move, task);
7192} 7189}
7193 7190
7194static void perf_cgroup_exit(struct cgroup_subsys *ss, struct cgroup *cgrp, 7191static void perf_cgroup_exit(struct cgroup *cgrp, struct cgroup *old_cgrp,
7195 struct cgroup *old_cgrp, struct task_struct *task) 7192 struct task_struct *task)
7196{ 7193{
7197 /* 7194 /*
7198 * cgroup_exit() is called in the copy_process() failure path. 7195 * cgroup_exit() is called in the copy_process() failure path.