• KAMEZAWA Hiroyuki's avatar
    memcg: move charges to root cgroup if use_hierarchy=0 · cc926f78
    KAMEZAWA Hiroyuki authored
    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: default avatarKAMEZAWA 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: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    cc926f78
memory.txt 29.1 KB