• Johannes Weiner's avatar
    mm: memcontrol: remove hierarchy restrictions for swappiness and oom_control · 3dae7fec
    Johannes Weiner authored
    Per-memcg swappiness and oom killing can currently not be tweaked on a
    memcg that is part of a hierarchy, but not the root of that hierarchy.
    Users have complained that they can't configure this when they turned on
    hierarchy mode.  In fact, with hierarchy mode becoming the default, this
    restriction disables the tunables entirely.
    
    But there is no good reason for this restriction.  The settings for
    swappiness and OOM killing are taken from whatever memcg whose limit
    triggered reclaim and OOM invocation, regardless of its position in the
    hierarchy tree.
    
    Allow setting swappiness on any group.  The knob on the root memcg
    already reads the global VM swappiness, make it writable as well.
    
    Allow disabling the OOM killer on any non-root memcg.
    Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: David Rientjes <rientjes@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    3dae7fec
memcontrol.c 190 KB