• Tejun Heo's avatar
    cgroup: move cgroup->sibling unlinking to cgroup_put() · 4e4e2847
    Tejun Heo authored
    Move cgroup->sibling unlinking from cgroup_destroy_css_killed() to
    cgroup_put().  This is later but still before the RCU grace period, so
    it doesn't break css_next_child() although there now is a larger
    window in which a dead cgroup is visible during css iteration.  As css
    iteration always could have included offline csses, this doesn't
    affect correctness; however, it does make css_next_child() fall back
    to reiterting mode more often.  This also makes cgroup_put() directly
    take cgroup_mutex, which limits where it can be called from.  These
    are not immediately problematic and will be dealt with later.
    
    This change enables simplification of cgroup destruction path.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarLi Zefan <lizefan@huawei.com>
    4e4e2847
cgroup.c 142 KB