Do not depend on MAX_ORDER when grouping pages by mobility
sfr at canb.auug.org.au
Mon Nov 12 13:21:08 EST 2007
I discovered recently that a kernel built with ppc64_defconfig no longer
boots on legacy iSeries. It did in 2.6.23. I bisected down the commit
d9c2340052278d8eb2ffb16b0484f8f794def4de ("Do not depend on MAX_ORDER
when grouping pages by mobility") which fails while its parent is ok.
Also, an iseries_defconfig kernel will boot. The reason it seem is
because on PowerPC 64 with CONFIG_HUGETLB_PAGE, HPAGE_SHIFT is not
constant and its value is determined at runtime early.
For legacy iSeries HPAGE_SHIFT remains 0 which means that
HUGETLB_PAGE_ORDER becomes -PAGE_SHIFT and things degenerate badly.
I can enable CONFIG_HUGETLB_PAGE_SIZE_VARIABLE for PowerPC 64, but I
still need to know a good value for HPAGE_SHIFT. Do you have a
suggestion? Is there a better way to fix this problem? There are places
in the PowerPC code that assume that HPAGE_SHIFT == 0 means that we have
no huge pages.
Stephen Rothwell sfr at canb.auug.org.au
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
More information about the Linuxppc-dev