• T
    cgroup: add cgroup_subsys->post_create() · a8638030
    Tejun Heo 提交于
    Currently, there's no way for a controller to find out whether a new
    cgroup finished all ->create() allocatinos successfully and is
    considered "live" by cgroup.
    
    This becomes a problem later when we add generic descendants walking
    to cgroup which can be used by controllers as controllers don't have a
    synchronization point where it can synchronize against new cgroups
    appearing in such walks.
    
    This patch adds ->post_create().  It's called after all ->create()
    succeeded and the cgroup is linked into the generic cgroup hierarchy.
    This plays the counterpart of ->pre_destroy().
    
    When used in combination with the to-be-added generic descendant
    iterators, ->post_create() can be used to implement reliable state
    inheritance.  It will be explained with the descendant iterators.
    
    v2: Added a paragraph about its future use w/ descendant iterators per
        Michal.
    
    v3: Forgot to add ->post_create() invocation to cgroup_load_subsys().
        Fixed.
    Signed-off-by: NTejun Heo <tj@kernel.org>
    Acked-by: NMichal Hocko <mhocko@suse.cz>
    Reviewed-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Acked-by: NLi Zefan <lizefan@huawei.com>
    Cc: Glauber Costa <glommer@parallels.com>
    a8638030
cgroup.c 143.5 KB