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

From: Mike Kravetz
Date: Tue Oct 05 2021 - 17:28:27 EST


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().

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?
--
Mike Kravetz