From: Ran Xiaokai <ran.xiaokai@xxxxxxxxxx> is_transparent_hugepage() was first introduced to ensure the page is 2M THP page. After commit de53c05f2ae3 ("mm: add large_rmappable page flag") and commit fc4d182316bd ("mm: huge_memory: enable debugfs to split huge pages to any order"), any large folio of mTHP suitable order can be split, not only 2M THP page. so the check in split_huge_pages_pid() is not needed here, instead a folio_test_large() check is sufficient. To ensure a 2M THP folio, we should use "folio_order(folio) == HPAGE_PMD_ORDER" for now. As split_huge_pages_pid() is the only user of is_transparent_hugepage(), we can remove this helper. Signed-off-by: Ran Xiaokai <ran.xiaokai@xxxxxxxxxx> --- mm/huge_memory.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 317de2afd371..f1a992945007 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -839,15 +839,6 @@ struct deferred_split *get_deferred_split_queue(struct folio *folio) } #endif -static inline bool is_transparent_hugepage(const struct folio *folio) -{ - if (!folio_test_large(folio)) - return false; - - return is_huge_zero_folio(folio) || - folio_test_large_rmappable(folio); -} - static unsigned long __thp_get_unmapped_area(struct file *filp, unsigned long addr, unsigned long len, loff_t off, unsigned long flags, unsigned long size, @@ -3439,7 +3430,7 @@ static int split_huge_pages_pid(int pid, unsigned long vaddr_start, continue; folio = page_folio(page); - if (!is_transparent_hugepage(folio)) + if (!folio_test_large(folio)) goto next; if (new_order >= folio_order(folio)) -- 2.15.2