[PATCH] x86: enable VMSPLIT for highmem kernels
Dave Hansen authored

The current VMSPLIT Kconfig option is disabled whenever highmem is on.
This is a bit screwy because the people who need to change VMSPLIT the most
tend to be the ones with highmem and constrained lowmem.

So, remove the highmem dependency.  But, re-include the dependency for the
"full 1GB of lowmem" option.  You can't have the full 1GB of lowmem and
highmem because of the need for the vmalloc(), kmap(), etc...  areas.

I thought there would be at least a bit of tweaking to do to
get it to work, but everything seems OK.

Boot tested on a 4GB x86 machine, and a 12GB 3-node NUMA-Q:

elm3b82:~# cat /proc/meminfo
MemTotal:      3695412 kB
MemFree:       3659540 kB
...
LowTotal:      2909008 kB
LowFree:       2892324 kB
...
elm3b82:~# zgrep PAE /proc/config.gz
CONFIG_X86_PAE=y

larry:~# cat /proc/meminfo
MemTotal:     11845900 kB
MemFree:      11786748 kB
...
LowTotal:      2855180 kB
LowFree:       2830092 kB
Signed-off-by: default avatarDave Hansen <haveblue@us.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
753b9f86
Name Last commit Last update
..
alpha [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations
arm [PATCH] Standardize pxx_page macros
arm26 [PATCH] tty: Remove include of screen_info.h from tty.h
avr32 [PATCH] AVR32 MTD: AT49BV6416 platform device for ATSTK1000
cris [PATCH] pcf8563: remove MOD_INC_USE_COUNT, MOD_DEC_USE_COUNT
frv [PATCH] FRV: permit __do_IRQ() to be dispensed with
h8300 [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations
i386 [PATCH] x86: enable VMSPLIT for highmem kernels
ia64 [PATCH] Define easier to handle GFP_THISNODE
m32r [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations
m68k [PATCH] irq-flags: M68K: Use the new IRQF_ constants
m68knommu [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations
mips [PATCH] Alchemy: Delete unused pt_regs * argument from au1xxx_dbdma_chan_alloc
parisc [PATCH] NUMA: Add zone_to_nid function
powerpc [PATCH] more fallout from get_property returning pointer to const
ppc [POWERPC] Fix compile error in sbc8560
s390 [PATCH] out of memory notifier
sh [PATCH] Standardize pxx_page macros
sh64 [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations
sparc [PATCH] Standardize pxx_page macros
sparc64 [SPARC64]: Fix section-mismatch errors in solaris emul module.
um [PATCH] Standardize pxx_page macros
v850 [PATCH] v850: call init_page_count() instead of set_page_count()
x86_64 [PATCH] hpet rtc emulation: add watchdog timer
xtensa [PATCH] xtensa: ptrace: EXIT_ZOMBIE fix