diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-20 21:11:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-20 21:11:21 -0400 |
commit | 0d9cabdccedb79ee5f27b77ff51f29a9e7d23275 (patch) | |
tree | 8bfb64c3672d058eb90aec3c3a9c4f61cef9097c /kernel/events | |
parent | 701085b219016d38f105b031381b9cee6200253a (diff) | |
parent | 3ce3230a0cff484e5130153f244d4fb8a56b3a8b (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.c | 13 |
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: | |||
7147 | device_initcall(perf_event_sysfs_init); | 7147 | device_initcall(perf_event_sysfs_init); |
7148 | 7148 | ||
7149 | #ifdef CONFIG_CGROUP_PERF | 7149 | #ifdef CONFIG_CGROUP_PERF |
7150 | static struct cgroup_subsys_state *perf_cgroup_create( | 7150 | static 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 | ||
7168 | static void perf_cgroup_destroy(struct cgroup_subsys *ss, | 7167 | static 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 | ||
7185 | static void perf_cgroup_attach(struct cgroup_subsys *ss, struct cgroup *cgrp, | 7183 | static 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 | ||
7194 | static void perf_cgroup_exit(struct cgroup_subsys *ss, struct cgroup *cgrp, | 7191 | static 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. |