Re: [PATCH] arm64/hugetlb: fix CMA gigantic page order for non-4K PAGE_SIZE

From: Andrew Morton
Date: Tue Oct 05 2021 - 19:15:46 EST


On Tue, 5 Oct 2021 14:28:03 -0700 Mike Kravetz <mike.kravetz@xxxxxxxxxx> wrote:

> On 10/5/21 1:54 PM, Andrew Morton wrote:
> > On Tue, 5 Oct 2021 13:25:29 -0700 Mike Kravetz <mike.kravetz@xxxxxxxxxx> wrote:
> >
> >> For non-4K PAGE_SIZE configs, the largest gigantic huge page size is
> >> CONT_PMD_SHIFT order.
> >
> > What are the user visible effects of this bug?
> >
> >
>
> Sorry,
> I only recently got easy access to arm64 platforms. This is what I saw
> as a user:
>
> The largest gigantic huge page size on arm64 with 64K PAGE_SIZE 64K is
> 16G. Therefore, one should be able to specify 'hugetlb_cma=16G' on the
> kernel command line so that 1 gigantic page can be allocated from CMA.
> However, when adding such an option the following message is produced:
>
> hugetlb_cma: cma area should be at least 8796093022208 MiB
>
> This is because the calculation for non-4K gigantic page order is
> incorrect in the arm64 specific routine arm64_hugetlb_cma_reserve().

Cool, thanks.

> Would you like me to send a new version with this in the commit message?
> Or, is it easier for you to just add it?

I assumed that it would be merged via the same path as the offending
abb7962adc80. Catalin's arm tree, it appears.