linux/arch/powerpc
Mel Gorman ba72cb8cb0 Fix boot problem with iSeries lacking hugepage support
Ordinarily the size of a pageblock is determined at compile-time based on the
hugepage size. On PPC64, the hugepage size is determined at runtime based on
what is supported by the machine. With legacy machines such as iSeries that
do not support hugepages, HPAGE_SHIFT is 0. This results in pageblock_order
being set to -PAGE_SHIFT and a crash results shortly afterwards.

This patch adds a function to select a sensible value for pageblock order by
default when HUGETLB_PAGE_SIZE_VARIABLE is set. It checks that HPAGE_SHIFT
is a sensible value before using the hugepage size; if it is not MAX_ORDER-1
is used.

This is a fix for 2.6.24.

Credit goes to Stephen Rothwell for identifying the bug and testing candidate
patches.  Additional credit goes to Andy Whitcroft for spotting a problem
with respects to IA-64 before releasing. Additional credit to David Gibson
for testing with the libhugetlbfs test suite.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Tested-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-29 09:24:51 -08:00
..
boot [POWERPC] 8xxx: MDS board RTC fixes 2007-11-20 15:39:54 -06:00
configs [POWERPC] 83xx: Update mpc8349emitx(gp) defconfig for USB 2007-11-20 15:39:54 -06:00
kernel [POWERPC] Fix possible division by zero in scaled time accounting 2007-11-20 16:10:28 +11:00
lib [POWERPC] rheap: Changes config mechanism 2007-10-16 17:09:21 -06:00
math-emu [POWERPC] Fix handling of stfiwx math emulation 2007-10-16 09:05:24 -05:00
mm [POWERPC] Fix 8xx build breakage due to _tlbie changes 2007-11-20 18:42:00 +11:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
platforms [POWERPC] 83xx: MPC832x RDB - remove spidev stub, use mmc_spi 2007-11-20 15:39:54 -06:00
sysdev Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge 2007-11-20 11:39:26 +11:00
xmon [POWERPC] fix showing xmon help 2007-07-22 21:30:58 +10:00
.gitignore [POWERPC] Add files build to .gitignore 2006-12-04 20:41:29 +11:00
Kconfig Fix boot problem with iSeries lacking hugepage support 2007-11-29 09:24:51 -08:00
Kconfig.debug [POWERPC] 4xx: Split early debug output and early boot console for 44x 2007-10-19 16:18:18 -05:00
Makefile [POWERPC] Add -mno-spe for ARCH=powerpc builds 2007-11-09 03:47:29 -06:00