Re: [PATCH 1/6] sparc64: Add FORCE_MAX_ZONEORDER and default to 13

From: David Miller
Date: Mon Oct 24 2016 - 14:32:57 EST


From: tndave <tushar.n.dave@xxxxxxxxxx>
Date: Mon, 24 Oct 2016 11:31:14 -0700

>
>
> On 10/24/2016 10:45 AM, David Miller wrote:
>> From: Tushar Dave <tushar.n.dave@xxxxxxxxxx>
>> Date: Mon, 10 Oct 2016 11:12:02 -0700
>>
>>> From: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx>
>>>
>>> This change allows ATU (new IOMMU) in SPARC systems to request
>>> large (32M) contiguous memory during boot for creating IOTSB backing
>>> store.
>>>
>>> Signed-off-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx>
>>> Signed-off-by: Tushar Dave <tushar.n.dave@xxxxxxxxxx>
>>
>> If you need 32MB allocations, wouldn't a max zone order of 12 be
>> sufficient? (8K << 12 == 32MB)
> Yes, but config FORCE_MAX_ZONEORDER is actually maximum order plus
> one.
> For example, a value of 13 means that the largest free memory block is
> 2^12 pages. For 32MB we need 2^12 8K pages, hence FORCE_MAX_ZONEORDER
> must be MAX_ORDER + 1 i.e. 13.

Ok, thanks for explaining.