Re: [PATCH v4] mm/rmap: do not add fully unmapped large folio to deferred split list

From: Lance Yang
Date: Fri Apr 26 2024 - 05:34:28 EST


On Fri, Apr 26, 2024 at 4:26 PM David Hildenbrand <david@xxxxxxxxxx> wrote:
>
>
> > @@ -1553,9 +1557,9 @@ static __always_inline void __folio_remove_rmap(struct folio *folio,
> > * page of the folio is unmapped and at least one page
> > * is still mapped.
> > */
> > - if (folio_test_large(folio) && folio_test_anon(folio))
> > - if (level == RMAP_LEVEL_PTE || nr < nr_pmdmapped)
> > - deferred_split_folio(folio);
> > + if (folio_test_large(folio) && folio_test_anon(folio) &&
> > + list_empty(&folio->_deferred_list) && partially_mapped)
> > + deferred_split_folio(folio);
>
> And now I realize that we can then even drop the folio_test_large(folio)
> check here!

+1

Thanks,
Lance

>
> --
> Cheers,
>
> David / dhildenb
>