From: Qi Zheng <qi.zheng@linux.dev>
To: Barry Song <baohua@kernel.org>, Ridong Chen <ridong.chen@linux.dev>
Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, david@kernel.org,
mhocko@kernel.org, shakeel.butt@linux.dev, ljs@kernel.org,
kasong@tencent.com, axelrasmussen@google.com, yuanchu@google.com,
weixugc@google.com, hezhongkun.hzk@bytedance.com,
muchun.song@linux.dev, dave@stgolabs.net,
roman.gushchin@linux.dev, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, Ridong Chen <chenridong@xiaomi.com>
Subject: Re: [PATCH v2 4/4] mm/mglru: fix anon-only reclaim evicting file pages when swappiness=max
Date: Mon, 20 Jul 2026 10:48:56 +0800 [thread overview]
Message-ID: <c9ad9052-4f9e-42a5-a6f6-17877aad18e4@linux.dev> (raw)
In-Reply-To: <CAGsJ_4zGRtDEGnQwmFqXrEcm93UrHaX8A_awJgu=b8ikceT8fA@mail.gmail.com>
On 7/18/26 9:43 PM, Barry Song wrote:
> On Sat, Jul 18, 2026 at 5:54 PM Ridong Chen <ridong.chen@linux.dev> wrote:
>>
>> From: Ridong Chen <chenridong@xiaomi.com>
>>
>> The previous patch fixes this issue for the traditional LRU, which also
>> exists in MGLRU [1]. Fix this by checking whether swappiness is
>> SWAPPINESS_ANON_ONLY in get_swappiness() first, and returning 0 from
>> get_nr_to_scan() when swappiness is SWAPPINESS_ANON_ONLY and anon pages
>> cannot be reclaimed, to avoid useless work.
>
> Is this intended to avoid unnecessary work, or to prevent file folios
> from being reclaimed incorrectly?
Based on the test results below, it seems primarily intended to prevent
file pages from being mistakenly reclaimed. Also, bailing out early in
the SWAPPINESS_ANON_ONLY + !can_reclaim_anon_pages case is to avoid
unnecessary work.
Hi Ridong, perhaps the commit message could be clearer. ;)
>
>>
>> The test result:
>> Before fix:
>>
>> # cat /sys/kernel/mm/lru_gen/enabled
>> 0x0007
>> # cat memory.stat
>> anon 204800
>> file 67108864
>> ...
>> pgsteal_proactive 0
>> pgscan_proactive 0
>>
>> # echo "64M swappiness=max" > memory.reclaim
>> # cat memory.stat
>> anon 208896
>> file 0
>> ...
>> pgsteal_proactive 16384
>> pgscan_proactive 16384
>>
>> After fix:
>>
>> # cat memory.stat
>> anon 188416
>> file 67215360
>> kernel 1970176
>> ...
>> pgsteal_proactive 0
>> pgscan_proactive 0
>>
>> # echo "64M swappiness=max" > memory.reclaim
>> -bash: echo: write error: Resource temporarily unavailable
>> # cat memory.stat
>> anon 204800
>> file 67215360
>> ...
>> pgsteal_proactive 0
>> pgscan_proactive 0
>>
>> [1] https://sashiko.dev/#/patchset/20260717113300.214717-1-ridong.chen@linux.dev
>>
>> Fixes: 68a1436bde00 ("mm: add swappiness=max arg to memory.reclaim for only anon reclaim")
>> Signed-off-by: Ridong Chen <chenridong@xiaomi.com>
>> ---
>> mm/vmscan.c | 14 +++++++++++++-
>> 1 file changed, 13 insertions(+), 1 deletion(-)
>>
Overall, this looks good to me.
Acked-by: Qi Zheng <qi.zheng@linux.dev>
Thanks,
Qi
next prev parent reply other threads:[~2026-07-20 2:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-18 9:52 [PATCH v2 0/4] mm/vmscan: fix swappiness=max and clean up per-node proactive reclaim Ridong Chen
2026-07-18 9:52 ` [PATCH v2 1/4] mm/vmscan: fix anon-only reclaim evicting file pages when swappiness=max Ridong Chen
2026-07-18 13:34 ` Barry Song
2026-07-20 4:42 ` Ridong Chen
2026-07-21 7:45 ` Barry Song
2026-07-20 2:27 ` Qi Zheng
2026-07-18 9:52 ` [PATCH v2 2/4] mm: vmscan: propagate real error code from per-node proactive reclaim Ridong Chen
2026-07-20 2:32 ` Qi Zheng
2026-07-21 7:32 ` Barry Song
2026-07-18 9:52 ` [PATCH v2 3/4] mm: vmscan: drop unused gfp_mask parameter from __node_reclaim() Ridong Chen
2026-07-18 13:12 ` Barry Song
2026-07-20 2:34 ` Qi Zheng
2026-07-18 9:52 ` [PATCH v2 4/4] mm/mglru: fix anon-only reclaim evicting file pages when swappiness=max Ridong Chen
2026-07-18 13:43 ` Barry Song
2026-07-20 2:48 ` Qi Zheng [this message]
2026-07-20 6:03 ` Ridong Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c9ad9052-4f9e-42a5-a6f6-17877aad18e4@linux.dev \
--to=qi.zheng@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=axelrasmussen@google.com \
--cc=baohua@kernel.org \
--cc=chenridong@xiaomi.com \
--cc=dave@stgolabs.net \
--cc=david@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=hezhongkun.hzk@bytedance.com \
--cc=kasong@tencent.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=mhocko@kernel.org \
--cc=muchun.song@linux.dev \
--cc=ridong.chen@linux.dev \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=weixugc@google.com \
--cc=yuanchu@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.