Re: [PATCH 2/2] mm/hugetlb: refactor subpage recording

From: Mike Kravetz
Date: Sat Feb 13 2021 - 16:15:32 EST


On 1/26/21 6:10 PM, Jason Gunthorpe wrote:
> On Tue, Jan 26, 2021 at 05:58:53PM -0800, Mike Kravetz wrote:
>
>> As pointed out by Joao, you can also see the differences in pfn_to_page
>> for CONFIG_SPARSE_VMEMMAP and CONFIG_SPARSEMEM. The only time we might
>> have issues is with CONFIG_SPARSEMEM. I would bet CONFIG_SPARSE_VMEMMAP
>> is far more common.
>
> I think it is fine to have a different pfn_to_page, it should just be
> illegal to combine pages into a compound if their tail pages are not
> linear in the map.
>
> Matt's folio work might present an option to audit the whole mm for
> this pattern and provide some folio_next_tail_page() accessor that
> does the fast thing - but I question the value of such a project for a
> 2008 era PPC platform with 16GB pages (seriously?) that may be using
> VMEMMAP today anyhow??
>
> Maybe others know of more modern use cases
>
> Jason

When discussing v2 of this patch, Zi confirmed that this issue exists today.
See,
https://lore.kernel.org/linux-mm/3d2acb33-57e2-060d-616f-cce872c77307@xxxxxxxxxx

I will fix up that unexpected discovery in the hugetlb code. But, not sure
what approach we want to take elsewhere, such as the GUP code.
--
Mike Kravetz