[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e367da7d-7964-7531-3dcb-0ad7964ffdaa@huawei.com>
Date: Sat, 27 Aug 2022 10:18:43 +0800
From: Miaohe Lin <linmiaohe@...wei.com>
To: Muchun Song <muchun.song@...ux.dev>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Mike Kravetz <mike.kravetz@...cle.com>,
Muchun Song <songmuchun@...edance.com>,
Linux MM <linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 08/10] hugetlb: remove unneeded SetHPageVmemmapOptimized()
On 2022/8/27 9:35, Muchun Song wrote:
>
>
>> On Aug 26, 2022, at 17:24, Miaohe Lin <linmiaohe@...wei.com> 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
Powered by blists - more mailing lists