The patch titled Subject: mm: add lazyfree folio to lru tail has been added to the -mm mm-unstable branch. Its filename is mm-add-lazyfree-folio-to-lru-tail.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-add-lazyfree-folio-to-lru-tail.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: gaoxu <gaoxu2@xxxxxxxxx> Subject: mm: add lazyfree folio to lru tail Date: Fri, 16 Aug 2024 07:48:01 +0000 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. 2. When mglru is enabled, the lazy-free folio is reclaimabled and should be added using lru_gen_add_folio(lruvec, folio, true) instead of lru_gen_add_folio(lruvec, folio, false) for adding to gen. With the change in place, workingset_refault_file is reduced by 33% in the continuous startup testing of the applications in the Android system. Link: https://lkml.kernel.org/r/f29f64e29c08427b95e3df30a5770056@xxxxxxxxx Signed-off-by: gao xu <gaoxu2@xxxxxxxxxxx> Cc: Kalesh Singh <kaleshsingh@xxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxx> Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx> Cc: David Hildenbrand <david@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/swap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/mm/swap.c~mm-add-lazyfree-folio-to-lru-tail +++ a/mm/swap.c @@ -641,7 +641,7 @@ static void lru_lazyfree(struct lruvec * * anonymous folios */ folio_clear_swapbacked(folio); - lruvec_add_folio(lruvec, folio); + lruvec_add_folio_tail(lruvec, folio); __count_vm_events(PGLAZYFREE, nr_pages); __count_memcg_events(lruvec_memcg(lruvec), PGLAZYFREE, nr_pages); _ Patches currently in -mm which might be from gaoxu2@xxxxxxxxx are mm-add-lazyfree-folio-to-lru-tail.patch