Re: [PATCH 03/21] mm/hugetlb: correct demote page offset logic

From: Doug Berger
Date: Tue Sep 13 2022 - 21:11:15 EST

On 9/13/2022 4:34 PM, Matthew Wilcox wrote:
On Tue, Sep 13, 2022 at 12:54:50PM -0700, Doug Berger wrote:
With gigantic pages it may not be true that struct page structures
are contiguous across the entire gigantic page. The mem_map_offset
function is used here in place of direct pointer arithmetic to
correct for this.

We're just eliminating mem_map_offset(). Please use nth_page()
instead.That's good to know. I will include that in v2.

for (i = 0; i < pages_per_huge_page(h);
i += pages_per_huge_page(target_hstate)) {
+ subpage = mem_map_offset(page, i);
if (hstate_is_gigantic(target_hstate))