Re: [RFC PATCH v2] mm: vmscan: avoid anon scanning for GFP_NOIO with low swapcache in MGLRU
From: Barry Song
Date: Thu Oct 22 2026 - 21:40:37 EST
On Fri, Oct 23, 2026 at 9:36 AM Baolin Wang
<baolin.wang@xxxxxxxxxxxxxxxxx> wrote:
>
>
>
> On 10/23/26 5:19 AM, Barry Song wrote:
> > On Thu, Oct 22, 2026 at 7:26 PM Baolin Wang
> > <baolin.wang@xxxxxxxxxxxxxxxxx> wrote:
> > [...]
> >
> >>>> }
> >>>>
> >>>> if (should_run_aging(lruvec, max_seq, sc, swappiness)) {
> >>>> - if (try_to_inc_max_seq(lruvec, max_seq,
> >>>> swappiness, false))
> >>>
> >>> This is quite tricky. If we pass swappiness=0, anon aging will be
> >>> skipped. Do we want that for GFP_NOIO cases? I mean, these are not
> >>> real cases where anon aging should be disabled.
> >>
> >> No, we have real use cases where 'vm_swappiness' is set to 0, which
> >> means the workload never reclaims anon folios. So in this case we don't
> >> need to age anon folios.
> >
> > My concern is that setting swappiness to 0 for GFP_NOIO also skips
> > anon aging, making it behave the same as a real swappiness=0.
>
> It will not. We will force anon aging for GFP_NOIO case.
This is fine. but what I am saying is that the walk.swappiness and anon vmas
are all skipped :-)
>
> > However, GFP_NOIO is only a temporary state, and subsequent
> > allocations may not use GFP_NOIO.
>