diff options
author | Tejun Heo <tj@kernel.org> | 2013-06-13 06:04:54 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-06-13 19:55:18 +0200 |
commit | ddd69148bdc45e5e3e55bfde3571daecd5a96d75 (patch) | |
tree | 0d248de63b78acf91668a96a1f6cc77f49f2946c /kernel/rcu.h | |
parent | cgroup: rename CGRP_REMOVED to CGRP_DEAD (diff) | |
download | linux-ddd69148bdc45e5e3e55bfde3571daecd5a96d75.tar.xz linux-ddd69148bdc45e5e3e55bfde3571daecd5a96d75.zip |
cgroup: drop unnecessary RCU dancing from __put_css_set()
__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>
Diffstat (limited to 'kernel/rcu.h')
0 files changed, 0 insertions, 0 deletions