cgroup: drop unnecessary RCU dancing from __put_css_set()
authorTejun Heo <tj@kernel.org>
Thu, 13 Jun 2013 04:04:54 +0000 (21:04 -0700)
committerTejun Heo <tj@kernel.org>
Thu, 13 Jun 2013 17:55:18 +0000 (10:55 -0700)
__put_css_set() does RCU read access on @cgrp across dropping
@cgrp->count so that it can continue accessing @cgrp even if the count
reached zero and destruction of the cgroup commenced.  Given that both
sides - __css_put() and cgroup_destroy_locked() - are cold paths, this
is unnecessary.  Just making cgroup_destroy_locked() grab css_set_lock
while checking @cgrp->count is enough.

Remove the RCU read locking from __put_css_set() and make
cgroup_destroy_locked() read-lock css_set_lock when checking
@cgrp->count.  This will also allow removing @cgrp->count.

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

diff --cc kernel/cgroup.c
Simple merge