linux_dsm_epyc7002/arch/i386
keith mannthey 9102330005 [PATCH] convert i386 NUMA KVA space to bootmem
Address a long standing issue of booting with an initrd on an i386 numa
system.  Currently (and always) the numa kva area is mapped into low memory
by finding the end of low memory and moving that mark down (thus creating
space for the kva).  The issue with this is that Grub loads initrds into
this similar space so when the kernel check the initrd it finds it outside
max_low_pfn and disables it (it thinks the initrd is not mapped into usable
memory) thus initrd enabled kernels can't boot i386 numa :(

My solution to the problem just converts the numa kva area to use the
bootmem allocator to save it's area (instead of moving the end of low
memory).  Using bootmem allows the kva area to be mapped into more diverse
addresses (not just the end of low memory) and enables the kva area to be
mapped below the initrd if present.

I have tested this patch on numaq(no initrd) and summit(initrd) i386 numa
based systems.

[akpm@osdl.org: cleanups]
Signed-off-by: Keith Mannthey <kmannth@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:48:45 -07:00
..
boot kbuild: introduce utsrelease.h 2006-07-03 23:30:54 +02:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
kernel [PATCH] convert i386 NUMA KVA space to bootmem 2006-09-26 08:48:45 -07:00
lib [PATCH] i386: remove redundant might_sleep() in user accessors. 2006-07-14 21:53:52 -07:00
mach-default [PATCH] irq-flags: i386: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
mach-es7000 [PATCH] Compilation fix for ES7000 when no ACPI is specified in config (i386) 2006-03-23 07:38:04 -08:00
mach-generic Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mach-visws [PATCH] irq-flags: i386: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
mach-voyager [PATCH] irq-flags: i386: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
math-emu [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
mm [PATCH] convert i386 NUMA KVA space to bootmem 2006-09-26 08:48:45 -07:00
oprofile [PATCH] i386/x86-64: Add core 2 to oprofile 2006-09-16 21:37:48 -07:00
pci Revert mmiocfg heuristics and blacklist changes 2006-09-19 08:15:22 -07:00
power Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
defconfig [PATCH] i386 defconfig: set CONFIG_PM_STD_PARTITION="" 2006-07-10 13:24:22 -07:00
Kconfig [PATCH] x86: NUMAQ Kconfig fix 2006-08-27 11:01:33 -07:00
Kconfig.cpu i386: Trivial typo fixes 2006-06-26 18:47:15 +02:00
Kconfig.debug [PATCH] lockdep: irqtrace subsystem, i386 support 2006-07-03 15:27:03 -07:00
Makefile [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups 2006-03-26 08:56:53 -08:00
Makefile.cpu [PATCH] x86-64: Use -mtune=generic for generic kernels 2006-03-25 09:10:52 -08:00