On Wed, Aug 21, 2024 at 2:47 PM Barry Song <21cnbao@xxxxxxxxx> wrote: > > On Wed, Aug 21, 2024 at 8:46 PM Michal Hocko <mhocko@xxxxxxxx> 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