[Devel] [PATCH VZ10 4/4] mm/memcontrol: switch to memory refcount to track memory overcommit on cgroup-v2
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Mon Oct 6 07:46:00 MSK 2025
The memsw counter is unavailable in cgroup-v2, we have swap and memory
to chose from, let's put failcount on memory. Although actually it's for
memory + swap + file + reclaimable, but putting this failcount on swap
looks less intuitive.
Fixes: 8117828baaa09 ("ve/mm: add heuristic check for memory overcommit")
https://virtuozzo.atlassian.net/browse/VSTOR-105819
Signed-off-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
Feature: mm: per-CT memory overcommit heuristic
---
mm/memcontrol.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index cba985e5d3d1d..6e1f2816931fa 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -3419,10 +3419,14 @@ int ve_enough_memory(long pages)
css = ve_get_init_css(ve, memory_cgrp_id);
memcg = mem_cgroup_from_css(css);
- ret = mem_cgroup_enough_memory(memcg, pages);
- if (unlikely(ret < 0))
- memcg->memsw.failcnt++;
+ ret = mem_cgroup_enough_memory(memcg, pages);
+ if (unlikely(ret < 0)) {
+ if (cgroup_subsys_on_dfl(memory_cgrp_subsys))
+ memcg->memory.failcnt++;
+ else
+ memcg->memsw.failcnt++;
+ }
css_put(css);
return ret;
--
2.51.0
More information about the Devel
mailing list