diff options
author | Tejun Heo <tj@kernel.org> | 2014-07-08 18:02:56 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2014-07-08 18:02:56 -0400 |
commit | 667c24917144e34880f821486bf0a6e4d05a3a14 (patch) | |
tree | 24cbd5b2d01808ab870f95061c8af419b3d687ee /include/linux/cgroup.h | |
parent | c29adf24e0c443fb4433efb6a62bd91fdb739c34 (diff) | |
download | op-kernel-dev-667c24917144e34880f821486bf0a6e4d05a3a14.zip op-kernel-dev-667c24917144e34880f821486bf0a6e4d05a3a14.tar.gz |
cgroup: introduce cgroup->subtree_control
cgroup is implementing support for subsystem dependency which would
require a way to enable a subsystem even when it's not directly
configured through "cgroup.subtree_control".
Previously, cgroup->child_subsys_mask directly reflected
"cgroup.subtree_control" and the enabled subsystems in the child
cgroups. This patch adds cgroup->subtree_control which
"cgroup.subtree_control" operates on. cgroup->child_subsys_mask is
now calculated from cgroup->subtree_control by
cgroup_refresh_child_subsys_mask(), which sets it identical to
cgroup->subtree_control for now.
This will allow using cgroup->child_subsys_mask for all the enabled
subsystems including the implicit ones and ->subtree_control for
tracking the explicitly requested ones. This patch keeps the two
masks identical and doesn't introduce any behavior changes.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Diffstat (limited to 'include/linux/cgroup.h')
-rw-r--r-- | include/linux/cgroup.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 8a111dd..8d52c8e 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -203,7 +203,13 @@ struct cgroup { struct kernfs_node *kn; /* cgroup kernfs entry */ struct kernfs_node *populated_kn; /* kn for "cgroup.subtree_populated" */ - /* the bitmask of subsystems enabled on the child cgroups */ + /* + * The bitmask of subsystems enabled on the child cgroups. + * ->subtree_control is the one configured through + * "cgroup.subtree_control" while ->child_subsys_mask is the + * effective one which may have more subsystems enabled. + */ + unsigned int subtree_control; unsigned int child_subsys_mask; /* Private pointers for each registered subsystem */ |