Re: [PATCH REPOST] mm: memcg: allow lowering memory.swap.max below the current usage

Johannes Weiner
2018-05-24T10:56:12Z

On Wed, May 23, 2018 at 11:50:41AM -0700, Tejun Heo wrote:
> Currently an attempt to set swap.max into a value lower than the
> actual swap usage fails, which causes configuration problems as
> there's no way of lowering the configuration below the current usage
> short of turning off swap entirely. This makes swap.max difficult to
> use and allows delegatees to lock the delegator out of reducing swap
> allocation.
>
> This patch updates swap_max_write() so that the limit can be lowered
> below the current usage. It doesn't implement active reclaiming of
> swap entries for the following reasons.
>
> * mem_cgroup_swap_full() already tells the swap machinary to
> aggressively reclaim swap entries if the usage is above 50% of
> limit, so simply lowering the limit automatically triggers gradual
> reclaim.
>
> * Forcing back swapped out pages is likely to heavily impact the
> workload and mess up the working set. Given that swap usually is a
> lot less valuable and less scarce, letting the existing usage
> dissipate over time through the above gradual reclaim and as they're
> falted back in is likely the better behavior.
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Acked-by: Roman Gushchin <guro@fb.com>
> Acked-by: Rik van Riel <riel@surriel.com>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: Michal Hocko <mhocko@kernel.org>
> Cc: Shaohua Li <shli@fb.com>
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-mm@kvack.org
> Cc: cgroups@vger.kernel.org

Acked-by: Johannes Weiner <hannes@cmpxchg.org>