In cgroup-v2 memsw is not used anymore, instead we have swap and memory separated from one another. So memory limit should be read from memory.max not from memsw.max.
https://jira.vzint.dev/browse/PSBM-149975 Fixes: 9417436f33d1 ("ve/mm: add heuristic check for memory overcommit") Signed-off-by: Pavel Tikhomirov <ptikhomi...@virtuozzo.com> --- mm/memcontrol.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 9287eed944d5..cd11065cbe0d 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -4283,7 +4283,10 @@ static int mem_cgroup_enough_memory(struct mem_cgroup *memcg, long pages) long free; /* unused memory */ - free = memcg->memsw.max - page_counter_read(&memcg->memory); + if (memcg->css.cgroup->root == &cgrp_dfl_root) + free = memcg->memory.max - page_counter_read(&memcg->memory); + else + free = memcg->memsw.max - page_counter_read(&memcg->memory); /* reclaimable slabs */ free += memcg_page_state(memcg, NR_SLAB_RECLAIMABLE_B) >> PAGE_SHIFT; -- 2.41.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel