kernel_optimize_test/arch/i386/mm
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_ioremap.c [PATCH] i386 bootioremap / kexec fix 2006-09-25 17:38:35 -07:00
discontig.c [PATCH] convert i386 NUMA KVA space to bootmem 2006-09-26 08:48:45 -07:00
extable.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fault.c typo fixes: occuring -> occurring 2006-06-30 18:27:16 +02:00
highmem.c [PATCH] kdump: Routines for copying dump pages 2005-06-25 16:24:53 -07:00
hugetlbpage.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
init.c [PATCH] add __[start|end]_rodata sections to asm-generic/sections.h 2006-07-01 09:56:03 -07:00
ioremap.c [PATCH] i386,amd64: ioremap.c __iomem annotations 2005-12-15 10:04:30 -08:00
Makefile [PATCH] sparsemem memory model for i386 2005-06-23 09:45:05 -07:00
mmap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pageattr.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pgtable.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00