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 /net/sched | |
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 'net/sched')
-rw-r--r-- | net/sched/cls_cgroup.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index f84fdc3a7f27..1afaa284fcd7 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c | |||
@@ -22,9 +22,8 @@ | |||
22 | #include <net/sock.h> | 22 | #include <net/sock.h> |
23 | #include <net/cls_cgroup.h> | 23 | #include <net/cls_cgroup.h> |
24 | 24 | ||
25 | static struct cgroup_subsys_state *cgrp_create(struct cgroup_subsys *ss, | 25 | static struct cgroup_subsys_state *cgrp_create(struct cgroup *cgrp); |
26 | struct cgroup *cgrp); | 26 | static void cgrp_destroy(struct cgroup *cgrp); |
27 | static void cgrp_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp); | ||
28 | static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp); | 27 | static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp); |
29 | 28 | ||
30 | struct cgroup_subsys net_cls_subsys = { | 29 | struct cgroup_subsys net_cls_subsys = { |
@@ -51,8 +50,7 @@ static inline struct cgroup_cls_state *task_cls_state(struct task_struct *p) | |||
51 | struct cgroup_cls_state, css); | 50 | struct cgroup_cls_state, css); |
52 | } | 51 | } |
53 | 52 | ||
54 | static struct cgroup_subsys_state *cgrp_create(struct cgroup_subsys *ss, | 53 | static struct cgroup_subsys_state *cgrp_create(struct cgroup *cgrp) |
55 | struct cgroup *cgrp) | ||
56 | { | 54 | { |
57 | struct cgroup_cls_state *cs; | 55 | struct cgroup_cls_state *cs; |
58 | 56 | ||
@@ -66,7 +64,7 @@ static struct cgroup_subsys_state *cgrp_create(struct cgroup_subsys *ss, | |||
66 | return &cs->css; | 64 | return &cs->css; |
67 | } | 65 | } |
68 | 66 | ||
69 | static void cgrp_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp) | 67 | static void cgrp_destroy(struct cgroup *cgrp) |
70 | { | 68 | { |
71 | kfree(cgrp_cls_state(cgrp)); | 69 | kfree(cgrp_cls_state(cgrp)); |
72 | } | 70 | } |