Re: [PATCH v2] mm: add lazyfree folio to lru tail

From: Andrew Morton
Date: Mon Sep 09 2024 - 18:22:22 EST


On Tue, 27 Aug 2024 10:29:11 +0800 Hailong Liu <hailong.liu@xxxxxxxx> wrote:

> On Tue, 27. Aug 14:18, Barry Song wrote:
> > On Tue, Aug 27, 2024 at 2:13 PM Hailong Liu <hailong.liu@xxxxxxxx> wrote:
> > >
> > > On Mon, 26. Aug 09:37, Lokesh Gidra wrote:
> > > >
> > > > IMHO, within LRU_INACTIVE_FILE, MADV_FREE'ed pages should be
> > > > prioritized for reclamation over file ones.
> > >
> > >
> > > > >
> > > > > Adding Lokesh.
> > > > > Lokesh, could you please comment on the reasoning behind the above
> > > > > mentioned change?
> > > >
> > > > Adding Nicolas as well, in case he wants to add something.
> > > IMHO, lruvec_add_folio is enough. if lruvec_add_folio_tail why not use
> > > MADV_DONTNEED instead? In MM the reclaim policy prefer to reclaim file cache, if
> > > MADV_FREE'd pages directly add to the tail, they might be reclaimed instantly.
> > > Also the benefit of workingset_refault_file cannot be convinced for me.
> >
> > My understanding is that MADV_DONTNEED will immediately free the memory,
> > whereas MADV_FREE will release memory only under memory pressure. If
> > memory pressure is low, the anonymous memory may still be gotten back
> > without causing page faults. This might be what Lokesh is aiming to achieve.
> >
> Hmm, IIUC, for the reason of watermark, the kswapd would do reclamation without
> memory pressure. I worried here is that the madv_free'd pages reclaimed too fast
> if add to tail.

I'm not seeing much clarity on whether we should merge this change. I
think I'll drop this version - let's please revisit after -rc1.