linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] mm/mglru: keep the root_memcg reclaim behavior the same as memcg reclaim
@ 2024-12-12  9:56 hailong
  2024-12-12 18:22 ` T.J. Mercier
  0 siblings, 1 reply; 6+ messages in thread
From: hailong @ 2024-12-12  9:56 UTC (permalink / raw)
  To: akpm; +Cc: linux-mm, linux-kernel, yuzhao, 21cnbao, Hailong Liu

From: Hailong Liu <hailong.liu@oppo.com>

commit a579086c99ed ("mm: multi-gen LRU: remove eviction fairness safeguard") said
Note that memcg LRU only applies to global reclaim. For memcg reclaim,
the eviction will continue, even if it is overshooting. This becomes
unconditional due to code simplification.

Howeven, if we reclaim a root memcg by sysfs (memory.reclaim), the behavior acts
as a kswapd or direct reclaim.

Fix this by remove the condition of mem_cgroup_is_root in
root_reclaim().
Signed-off-by: Hailong Liu <hailong.liu@oppo.com>
---
 mm/vmscan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 76378bc257e3..1f74f3ba0999 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -216,7 +216,7 @@ static bool cgroup_reclaim(struct scan_control *sc)
  */
 static bool root_reclaim(struct scan_control *sc)
 {
-	return !sc->target_mem_cgroup || mem_cgroup_is_root(sc->target_mem_cgroup);
+	return !sc->target_mem_cgroup;
 }

 /**
--
Actually we switch to mglru on kernel-6.1 and see different behavior on
root_mem_cgroup reclaim. so is there any background fot this?

Brs,
Hailong.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-12-16 17:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-12  9:56 [RFC PATCH] mm/mglru: keep the root_memcg reclaim behavior the same as memcg reclaim hailong
2024-12-12 18:22 ` T.J. Mercier
2024-12-13  2:26   ` hailong
2024-12-13 17:06     ` T.J. Mercier
2024-12-16  1:54       ` hailong
2024-12-16 17:13         ` T.J. Mercier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox