cgroup: explicitly track whether a cgroup_subsys_state is visible to userland
authorTejun Heo <tj@kernel.org>
Thu, 3 Mar 2016 14:57:58 +0000 (09:57 -0500)
committerTejun Heo <tj@kernel.org>
Thu, 3 Mar 2016 14:57:58 +0000 (09:57 -0500)
commit88cb04b96a1934ecbfd1d324e7cde55890c1a576
tree7dc80e8c3054d07ed8a7cc54c738eeae50a69513
parent6cd0f5bbaf594f40a97d01dbc565dda41f30d37c
cgroup: explicitly track whether a cgroup_subsys_state is visible to userland

Currently, whether a css (cgroup_subsys_state) has its interface files
created is not tracked and assumed to change together with the owning
cgroup's lifecycle.  cgroup directory and interface creation is being
separated out from internal object creation to help refactoring and
eventually allow cgroups which are not visible through cgroupfs.

This patch adds CSS_VISIBLE to track whether a css has its interface
files created and perform management operations only when necessary
which helps decoupling interface file handling from internal object
lifecycle.  After this patch, all css interface file management
functions can be called regardless of the current state and will
achieve the expected result.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Zefan Li <lizefan@huawei.com>
include/linux/cgroup-defs.h
kernel/cgroup.c