The patch 1~2 remove unexpected specific assert for PageTransHuge page. The Patch 3~6 convert several more migration functions to use folio. The patch 7 remove PageHead() check to make hugetlb to migrate the entire hugetlb page instead of -EACCES errno return when passed the address of a tail page. The patch 8 cleanup to unify and simplify code a bit in add_page_for_migration() v2: Thanks for all comments and advise from Matthew, Hugh, Zi, Mike, Huang. - keep page_mapcount() check and remove specific assert for PageTransHuge page. - separate patch7 to migrate the entire hugetlb page if a tail page passed, which unified the behavior between HUGETLB and THP when move_page(). Kefeng Wang (8): mm: migrate: remove PageTransHuge check in numamigrate_isolate_page() mm: migrate: remove THP mapcount check in numamigrate_isolate_page() mm: migrate: convert numamigrate_isolate_page() to numamigrate_isolate_folio() mm: migrate: use a folio in migrate_misplaced_page() mm: migrate: use __folio_test_movable() mm: migrate: use a folio in add_page_for_migration() mm: migrate: remove PageHead() check for HugeTLB in add_page_for_migration() mm: migrate: remove isolated variable in add_page_for_migration() mm/migrate.c | 110 +++++++++++++++++++++++---------------------------- 1 file changed, 49 insertions(+), 61 deletions(-) -- 2.41.0