[PATCH v5 1/5] mm: Allow deferred splitting of arbitrary large anon folios

Ryan Roberts ryan.roberts at arm.com
Thu Aug 10 07:29:38 PDT 2023


In preparation for the introduction of large folios for anonymous
memory, 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>
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 1f04debdc87a..769fcabc6c56 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1446,11 +1446,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