• K
    memcg: move charges to root cgroup if use_hierarchy=0 · cc926f78
    KAMEZAWA Hiroyuki 提交于
    Presently, at removal of cgroup, ->pre_destroy() is called and moves
    charges to the parent cgroup.  A major reason for returning -EBUSY from
    ->pre_destroy() is that the 'moving' hits the parent's resource
    limitation.  It happens only when use_hierarchy=0.
    
    Considering use_hierarchy=0, all cgroups should be flat.  So, no one
    cannot justify moving charges to parent...parent and children are in flat
    configuration, not hierarchical.
    
    This patch modifes the code to move charges to the root cgroup at
    rmdir/force_empty if use_hierarchy==0.  This will much simplify rmdir()
    and reduce error in ->pre_destroy.
    Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ying Han <yinghan@google.com>
    Cc: Glauber Costa <glommer@parallels.com>
    Reviewed-by: NTejun Heo <tj@kernel.org>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    cc926f78
memcontrol.c 146.1 KB