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

From: tndave
Date: Mon Oct 24 2016 - 14:31:40 EST




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.

Thanks.

-Tushar