diff options
author | Tejun Heo <tj@kernel.org> | 2013-08-14 00:22:50 (GMT) |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-08-14 00:22:50 (GMT) |
commit | f20104de55a212a9742d8df1807f1f29dc95b748 (patch) | |
tree | c7686dae4a73615ba67dc6fd4cfe9e7b89cf9708 /mm/hugetlb.c | |
parent | 223dbc38d2a8745a93749dc75ed909e274ce075d (diff) | |
download | linux-f20104de55a212a9742d8df1807f1f29dc95b748.tar.xz |
cgroup: replace cgroup->css_kill_cnt with ->nr_css
Currently, css (cgroup_subsys_state) lifetime is tied to that of the
associated cgroup. With the planned unified hierarchy, css's will be
dynamically created and destroyed within the lifetime of a cgroup. To
enable such usages, css's will be individually RCU protected instead
of being tied to the cgroup.
cgroup->css_kill_cnt is used during cgroup destruction to wait for css
reference count disable; however, this model doesn't work once css's
lifetimes are managed separately from cgroup's. This patch replaces
it with cgroup->nr_css which is an cgroup_mutex protected integer
counting the number of attached css's. The count is incremented from
online_css() and decremented after refcnt kill is confirmed. If the
count reaches zero and the cgroup is marked dead, the second stage of
cgroup destruction is kicked off. If a cgroup doesn't have any css
attached at the time of rmdir, cgroup_destroy_locked() now invokes the
second stage directly as no css kill confirmation would happen.
cgroup_offline_fn() - the second step of cgroup destruction - is
renamed to cgroup_destroy_css_killed() and now expects to be called
with cgroup_mutex held.
While this patch changes how css destruction is punted to work items,
it shouldn't change any visible behavior.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Diffstat (limited to 'mm/hugetlb.c')
0 files changed, 0 insertions, 0 deletions