[PATCH 1/4] Memory Add Fixes for ppc64

Mike Kravetz kravetz at us.ibm.com
Tue Nov 8 07:47:43 EST 2005


On Sat, Nov 05, 2005 at 11:04:30AM +1100, Benjamin Herrenschmidt wrote:
> This patch will have to be slightly reworked on top of the 64k pages
> one. It should be trivial though.

Ran into an issue with the interaction of SPARSEMEM and 64k pages.
SPARSEMEM defines the pp64 section size to be 16MB which corresponds
to the smallest LMB size.  There is a check in the SPARSEMEM code
to ensure that MAX_ORDER (actually MAX_ORDER-1) block size is not
greater than section size.  Within the Kconfig file, there is this:

# We optimistically allocate largepages from the VM, so make the limit
# large enough (16MB). This badly named config option is actually
# max order + 1
config FORCE_MAX_ZONEORDER
        int
        depends on PPC64
        default "13"

Just curious if we still want to boost MAX_ORDER like this with 64k
pages?  Doesn't that make the MAX_ORDER block size 256MB in this case?
Also, not quite sure what happens if memory size (a 16 MB multiple)
does not align with a MAX_ORDER block size (a 256MB multiple in this
case).  My 'guess' is that the page allocator would not use it as it
would not fit within the buddy system.

cc'ing SPARSEMEM author Andy Whitcroft.
-- 
Mike



More information about the Linuxppc64-dev mailing list