]> git.baikalelectronics.ru Git - kernel.git/commit
cgroup: add cgroup_subsys_state->parent
authorTejun Heo <tj@kernel.org>
Tue, 13 Aug 2013 15:01:54 +0000 (11:01 -0400)
committerTejun Heo <tj@kernel.org>
Tue, 13 Aug 2013 15:01:54 +0000 (11:01 -0400)
commit8e75d1d574495bc49fe14c101ba58551fb496f77
tree8f3e828b1751966af779becd60a0ff432cfefc8d
parent4064cb42443732fea850700f9c76643912740d4f
cgroup: add cgroup_subsys_state->parent

With the planned unified hierarchy, css's (cgroup_subsys_state) will
be RCU protected and allowed to be attached and detached dynamically
over the course of a cgroup's lifetime.  This means that css's will
stay accessible after being detached from its cgroup - the matching
pointer in cgroup->subsys[] cleared - for ref draining and RCU grace
period.

cgroup core still wants to guarantee that the parent css is never
destroyed before its children and css_parent() always returns the
parent regardless of the state of the child css as long as it's
accessible.

This patch makes css's hold onto their parents and adds css->parent so
that the parent css is never detroyed before its children and can be
determined without consulting the cgroups.

cgroup->dummy_css is also updated to point to the parent dummy_css;
however, it doesn't need to worry about object lifetime as the parent
cgroup is already pinned by the child.

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