From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161186AbaDQM5I (ORCPT ); Thu, 17 Apr 2014 08:57:08 -0400 Received: from zene.cmpxchg.org ([85.214.230.12]:58997 "EHLO zene.cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754753AbaDQM5G (ORCPT ); Thu, 17 Apr 2014 08:57:06 -0400 Date: Thu, 17 Apr 2014 08:56:57 -0400 From: Johannes Weiner To: Andrew Morton Cc: Michal Hocko , Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [patch] mm: memcontrol: remove hierarchy restrictions for swappiness and oom_control Message-ID: <20140417125657.GA23470@cmpxchg.org> References: <1397682798-22906-1-git-send-email-hannes@cmpxchg.org> <20140416143425.c2b6f511cf4c6cd7336134b3@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140416143425.c2b6f511cf4c6cd7336134b3@linux-foundation.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 16, 2014 at 02:34:25PM -0700, Andrew Morton wrote: > On Wed, 16 Apr 2014 17:13:18 -0400 Johannes Weiner wrote: > > > 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. > > Documentation/cgroups/memory.txt needs updates? Yes, that makes sense, thanks. How about this? --- Subject: [patch] mm: memcontrol: remove hierarchy restrictions for swappiness and oom_control fix Update Documentation/cgroups/memory.txt Signed-off-by: Johannes Weiner --- diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt index 2622115276aa..1829c65f8371 100644 --- a/Documentation/cgroups/memory.txt +++ b/Documentation/cgroups/memory.txt @@ -535,17 +535,15 @@ Note: 5.3 swappiness -Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. +Similar to /proc/sys/vm/swappiness, but only affecting reclaim that is +triggered by this cgroup's hard limit. The tunable in the root cgroup +corresponds to the global swappiness setting. + Please note that unlike the global swappiness, memcg knob set to 0 really prevents from any swapping even if there is a swap storage available. This might lead to memcg OOM killer if there are no file pages to reclaim. -Following cgroups' swappiness can't be changed. -- root cgroup (uses /proc/sys/vm/swappiness). -- a cgroup which uses hierarchy and it has other cgroup(s) below it. -- a cgroup which uses hierarchy and not the root of hierarchy. - 5.4 failcnt A memory cgroup provides memory.failcnt and memory.memsw.failcnt files. @@ -754,7 +752,6 @@ You can disable the OOM-killer by writing "1" to memory.oom_control file, as: #echo 1 > memory.oom_control -This operation is only allowed to the top cgroup of a sub-hierarchy. If OOM-killer is disabled, tasks under cgroup will hang/sleep in memory cgroup's OOM-waitqueue when they request accountable memory.