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

Mike Kravetz mike.kravetz at oracle.com
Tue Oct 5 14:28:03 PDT 2021


On 10/5/21 1:54 PM, Andrew Morton wrote:
> On Tue,  5 Oct 2021 13:25:29 -0700 Mike Kravetz <mike.kravetz at oracle.com> 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



More information about the linux-arm-kernel mailing list