Re: [PATCH v4] mm/rmap: do not add fully unmapped large folio to deferred split list
From: David Hildenbrand
Date: Fri Apr 26 2024 - 04:26:19 EST
@@ -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!
--
Cheers,
David / dhildenb