]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
cgroup: remove cgroupfs_root->refcnt
authorTejun Heo <tj@kernel.org>
Wed, 12 Feb 2014 14:29:50 +0000 (09:29 -0500)
committerTejun Heo <tj@kernel.org>
Wed, 12 Feb 2014 14:29:50 +0000 (09:29 -0500)
commit776f02fa4e1ad70557c0318c70ce928e0642bee0
treef2080066461b0ef75a964a8ef2b9a2243d7b5389
parent3c9c825b8b50de7dbb015e6bfc04bb2da79364d9
cgroup: remove cgroupfs_root->refcnt

Currently, cgroupfs_root and its ->top_cgroup are separated reference
counted and the latter's is ignored.  There's no reason to do this
separately.  This patch removes cgroupfs_root->refcnt and destroys
cgroupfs_root when the top_cgroup is released.

* cgroup_put() updated to ignore cgroup_is_dead() test for top
  cgroups.  cgroup_free_fn() updated to handle root destruction when
  releasing a top cgroup.

* As root destruction is now bounced through cgroup destruction, it is
  asynchronous.  Update cgroup_mount() so that it waits for pending
  release which is currently implemented using msleep().  Converting
  this to proper wait_queue isn't hard but likely unnecessary.

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