On 2022/8/27 9:35, Muchun Song wrote: > > >> On Aug 26, 2022, at 17:24, Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote: >> >> If code reaches here, it's guaranteed that HPageVmemmapOptimized is set >> for the hugetlb page (or VM_BUG_ON_PAGE() will complain about it). It's > > Hi Miaohe, > > Right. > >> unnecessary to set it again. > > No, I suppose you didn’t test this patch since it does not work. The > HPageVmemmapOptimized is cleared in the above code of line > (set_page_private(page, 0)). So NAck. Sorry, I missed that and thanks for pointing this out. Does this code deserves a comment like below? diff --git a/mm/hugetlb.c b/mm/hugetlb.c index d0617d64d718..3374c1d2b52e 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1522,6 +1522,10 @@ static void add_hugetlb_page(struct hstate *h, struct page *page, set_compound_page_dtor(page, HUGETLB_PAGE_DTOR); set_page_private(page, 0); + /* + * We have to set HPageVmemmapOptimized again as above + * set_page_private(page, 0) cleared it. + */ SetHPageVmemmapOptimized(page); /* Thanks, Miaohe Lin