On Mon, Feb 9, 2026 at 9:44 PM zhaoyang.huang wrote: > > From: Zhaoyang Huang Hi Zhaoyang, > Nowadays, ANDROID system replaces madivse with memory.reclaim to implement > user space memory management which desires to reclaim a certain amount of > memcg's memory. However, oversized reclaiming and high latency are observed > as there is no limitation over nr_reclaimed inside try_to_shrink_lruvec > when MGLRU enabled. Besides, this could also affect all none root_reclaim > such as reclaim_high etc. > The commit 'b82b530740b9' ("mm: vmscan: restore incremental cgroup > iteration") introduces sc->memcg_full_walk to limit the walk range of > mem_cgroup_iter. This commit would like to make single memcg's scanning > more precised by judging if nr_reclaimed reached when sc->memcg_full_walk > not set. > > Signed-off-by: Zhaoyang Huang > --- > mm/vmscan.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 670fe9fae5ba..03bda1094621 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -4832,8 +4832,8 @@ static bool should_abort_scan(struct lruvec *lruvec, struct scan_control *sc) > int i; > enum zone_watermarks mark; > > - /* don't abort memcg reclaim to ensure fairness */ > - if (!root_reclaim(sc)) > + /* don't abort full walk memcg reclaim to ensure fairness */ > + if (!root_reclaim(sc) && sc->memcg_full_walk) Can't we just get rid of this if (!root_reclaim(sc)) check entirely now that commit 'b82b530740b9' ("mm: vmscan: restore incremental cgroup iteration") provides eventual fairness for the proactive reclaim case? That wasn't true when this check was added initially. Thanks, T.J.