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

Suren Baghdasaryan
2024-08-23T23:39:58Z

On Wed, Aug 21, 2024 at 2:47 PM Barry Song <21cnbao@gmail.com> wrote:
>
> On Wed, Aug 21, 2024 at 8:46 PM Michal Hocko <mhocko@suse.com> wrote:
> >
> > On Fri 16-08-24 07:48:01, gaoxu wrote:
> > > Replace lruvec_add_folio with lruvec_add_folio_tail in the lru_lazyfree_fn:
> > > 1. The lazy-free folio is added to the LRU_INACTIVE_FILE list. If it's
> > > moved to the LRU tail, it allows for faster release lazy-free folio and
> > > reduces the impact on file refault.
> >
> > This has been discussed when MADV_FREE was introduced. The question was
> > whether this memory has a lower priority than other inactive memory that
> > has been marked that way longer ago. Also consider several MADV_FREE
> > users should they be LIFO from the reclaim POV?
>
> The priority of this memory compared to other inactive memory that has been
> marked for a longer time likely depends on the user's expectations - How soon
> do users expect MADV_FREE to be reclaimed compared with old file folios.
>
> art guys moved to MADV_FREE from MADV_DONTNEED without any
> useful performance data and reason in the changelog:
> https://android-review.googlesource.com/c/platform/art/+/2633132
>
> Since art is the Android Java heap, it can be quite large. This increases the
> likelihood of packing the file LRU and reduces the chances of reclaiming
> anonymous memory, which could result in more file re-faults while helping
> anonymous folio persist longer in memory.
>
> I am really curious why art guys have moved to MADV_FREE if we have
> an approach to reach them.

Adding Lokesh.
Lokesh, could you please comment on the reasoning behind the above
mentioned change?

>
> >
> > --
> > Michal Hocko
> > SUSE Labs
> >
>
> Thanks
> Barry