summaryrefslogtreecommitdiffstats
path: root/include/linux/cgroup.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2014-04-23 11:13:14 -0400
committerTejun Heo <tj@kernel.org>2014-04-23 11:13:14 -0400
commitf392e51cd6ae6f6ee5b9b6d611cdc282b4c1711e (patch)
treeadd95b5d189432489943674c0ab1ddc088cd63c1 /include/linux/cgroup.h
parentea8fd3b47ff4ed4b1b5942bf3e0cb8d8f590ec59 (diff)
downloadlinux-f392e51cd6ae6f6ee5b9b6d611cdc282b4c1711e.tar.gz
linux-f392e51cd6ae6f6ee5b9b6d611cdc282b4c1711e.tar.bz2
linux-f392e51cd6ae6f6ee5b9b6d611cdc282b4c1711e.zip
cgroup: update cgroup->subsys_mask to ->child_subsys_mask and restore cgroup_root->subsys_mask
944196278d3d ("cgroup: move ->subsys_mask from cgroupfs_root to cgroup") moved ->subsys_mask from cgroup_root to cgroup to prepare for the unified hierarhcy; however, it turns out that carrying the subsys_mask of the children in the parent, instead of itself, is a lot more natural. This patch restores cgroup_root->subsys_mask and morphs cgroup->subsys_mask into cgroup->child_subsys_mask. * Uses of root->cgrp.subsys_mask are restored to root->subsys_mask. * Remove automatic setting and clearing of cgrp->subsys_mask and instead just inherit ->child_subsys_mask from the parent during cgroup creation. Note that this doesn't affect any current behaviors. * Undo __kill_css() separation. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
Diffstat (limited to 'include/linux/cgroup.h')
-rw-r--r--include/linux/cgroup.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index c2515851c1aa..1b5b2fe1b228 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -173,8 +173,8 @@ struct cgroup {
*/
u64 serial_nr;
- /* The bitmask of subsystems attached to this cgroup */
- unsigned long subsys_mask;
+ /* the bitmask of subsystems enabled on the child cgroups */
+ unsigned long child_subsys_mask;
/* Private pointers for each registered subsystem */
struct cgroup_subsys_state __rcu *subsys[CGROUP_SUBSYS_COUNT];
@@ -282,6 +282,9 @@ enum {
struct cgroup_root {
struct kernfs_root *kf_root;
+ /* The bitmask of subsystems attached to this hierarchy */
+ unsigned long subsys_mask;
+
/* Unique id for this hierarchy. */
int hierarchy_id;