Commit 343b2888 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle)
Browse files

mm/vmscan: Optimise shrink_page_list for non-PMD-sized folios



A large folio which is smaller than a PMD does not need to do the extra
work in try_to_unmap() of trying to split a PMD entry.

Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
parent 820c4e2e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1765,7 +1765,8 @@ static unsigned int shrink_page_list(struct list_head *page_list,
			enum ttu_flags flags = TTU_BATCH_FLUSH;
			bool was_swapbacked = PageSwapBacked(page);

			if (unlikely(PageTransHuge(page)))
			if (PageTransHuge(page) &&
					thp_order(page) >= HPAGE_PMD_ORDER)
				flags |= TTU_SPLIT_HUGE_PMD;

			try_to_unmap(folio, flags);