From: Shaun Tancheff <shaun@xxxxxxxxxxxx> memcg-v1 does not expose memory min, low, and high. These values should to be set to reasonable non-zero values when max is set. This patch sets them to 10%, 20% and 80% respective to max. This fixes an issue with memory pressure with file systems do an unbounded high rate of I/O hitting oom. Signed-off-by: Shaun Tancheff <shaun.tancheff@xxxxxxx> --- mm/memcontrol.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 2eee092f8f11..0f5918d9dd2a 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -3491,6 +3491,15 @@ static int mem_cgroup_resize_max(struct mem_cgroup *memcg, if (max > counter->max) enlarge = true; ret = page_counter_set_max(counter, max); + if (!ret && !memsw) { + unsigned long min = (max / 10) + 1; + unsigned long low = min * 2; + unsigned long high = max - low; + + page_counter_set_min(counter, min); + page_counter_set_low(counter, low); + page_counter_set_high(counter, high); + } mutex_unlock(&memcg_max_mutex); if (!ret) -- 2.34.1