Re: [PATCH v2 1/8] mm: migrate: remove PageTransHuge check in numamigrate_isolate_page()

From: Kefeng Wang
Date: Thu Aug 24 2023 - 23:52:22 EST




On 2023/8/21 20:38, Matthew Wilcox wrote:
On Mon, Aug 21, 2023 at 07:56:17PM +0800, Kefeng Wang wrote:
Since we begin to convert the numa migration code to use folio, which
could let us to handle arbitrary sizes of folio, so drop assert that
we only support PageTransHuge page(PMD size) when order > 0.

Have you looked at the implementation of PageTransHuge()? Your
description doesn't match what the code does.

How about change to the following description,

The assert VM_BUG_ON_PAGE(order && !PageTransHuge(page), page) is
not very usefull,

1) for a tail/base page, order = 0, for a head page, the order > 0 &&
PageTransHuge() is true
2) there is a PageCompound() check and only base page is handled in
do_numa_page(), and do_huge_pmd_numa_page() only handle PMD-mapped
THP
3) even though the page is a tail page, isolate_lru_page() will post
a warning, and fail to isolate the page.
4) and if folio migrate is supported in the future, it is probable to
migrate the entire folio if numa fault on a tail page

so just remove the check.

Thanks