[PATCH 0/3] Limit runaway reclaim due to watermark boosting

From: Mel Gorman
Date: Tue Feb 25 2020 - 09:15:39 EST


Ivan Babrou reported the following

Commit 1c30844d2dfe ("mm: reclaim small amounts of memory when
an external fragmentation event occurs") introduced undesired
effects in our environment.

* NUMA with 2 x CPU
* 128GB of RAM
* THP disabled
* Upgraded from 4.19 to 5.4

Before we saw free memory hover at around 1.4GB with no
spikes. After the upgrade we saw some machines decide that they
need a lot more than that, with frequent spikes above 10GB,
often only on a single numa node.

There have been a few reports recently that might be watermark boost
related. Unfortunately, finding someone that can reproduce the problem
and test a patch has been problematic. This series intends to limit
potential damage only.

Patch 1 disables boosting on small memory systems.

Patch 2 disables boosting by default if THP is disabled on the kernel
command line on the basis that boosting primarily helps THP
allocation latency. It is not touched at runtime to avoid
overriding an explicit user request

Patch 3 disables boosting if kswapd priority is elevateed to avoid
excessive reclaim.

mm/huge_memory.c | 1 +
mm/internal.h | 6 +++++-
mm/page_alloc.c | 6 ++++--
mm/vmscan.c | 46 +++++++++++++++++++++++++++++++---------------
4 files changed, 41 insertions(+), 18 deletions(-)

--
2.16.4