[PATCH v8 01/10] mm: Allow deferred splitting of arbitrary anon large folios

Ryan Roberts ryan.roberts at arm.com
Mon Dec 4 02:20:18 PST 2023


In preparation for the introduction of anonymous multi-size THP, we
would like to be able to split them when they have unmapped subpages, in
order to free those unused pages under memory pressure. So remove the
artificial requirement that the large folio needed to be at least
PMD-sized.

Reviewed-by: Yu Zhao <yuzhao at google.com>
Reviewed-by: Yin Fengwei <fengwei.yin at intel.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy at infradead.org>
Reviewed-by: David Hildenbrand <david at redhat.com>
Reviewed-by: Barry Song <v-songbaohua at oppo.com>
Signed-off-by: Ryan Roberts <ryan.roberts at arm.com>
---
 mm/rmap.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/rmap.c b/mm/rmap.c
index de9426ad0f1b..2a1e45e6419f 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1518,11 +1518,11 @@ void page_remove_rmap(struct page *page, struct vm_area_struct *vma,
 		__lruvec_stat_mod_folio(folio, idx, -nr);
 
 		/*
-		 * Queue anon THP for deferred split if at least one
+		 * Queue anon large folio for deferred split if at least one
 		 * page of the folio is unmapped and at least one page
 		 * is still mapped.
 		 */
-		if (folio_test_pmd_mappable(folio) && folio_test_anon(folio))
+		if (folio_test_large(folio) && folio_test_anon(folio))
 			if (!compound || nr < nr_pmdmapped)
 				deferred_split_folio(folio);
 	}
-- 
2.25.1




More information about the linux-arm-kernel mailing list