diff options
author | Ben Blum <bblum@google.com> | 2009-09-23 18:56:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-24 10:20:58 -0400 |
commit | c378369d8b4fa516ff2b1e79c3eded4e0e955ebb (patch) | |
tree | 33dff6fa14c5b70cf25368b1bde57e5610a308b3 /include | |
parent | d1d9fd3308fdef6b4bf564fa3d6cfe35b68b50bc (diff) |
cgroups: change css_set freeing mechanism to be under RCU
Changes css_set freeing mechanism to be under RCU
This is a prepatch for making the procs file writable. In order to free the
old css_sets for each task to be moved as they're being moved, the freeing
mechanism must be RCU-protected, or else we would have to have a call to
synchronize_rcu() for each task before freeing its old css_set.
Signed-off-by: Ben Blum <bblum@google.com>
Signed-off-by: Paul Menage <menage@google.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Matt Helsley <matthltc@us.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/cgroup.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 88e863460726..3ac78a2f4b5a 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
@@ -260,6 +260,9 @@ struct css_set { | |||
260 | * during subsystem registration (at boot time). | 260 | * during subsystem registration (at boot time). |
261 | */ | 261 | */ |
262 | struct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT]; | 262 | struct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT]; |
263 | |||
264 | /* For RCU-protected deletion */ | ||
265 | struct rcu_head rcu_head; | ||
263 | }; | 266 | }; |
264 | 267 | ||
265 | /* | 268 | /* |