Allocate pages for vmalloc space from Normal zone, as they can't be swapped out. FIXME: This code is temporary, the base code assumes HighMem is hot-pluggable. The pages should be allocated from non hot-pluggable zone or non hot-pluggable memory area, not from Normal zone. Signed-off-by: Hirokazu Takahashi Signed-off-by: Dave Hansen --- memhotplug-dave/mm/vmalloc.c | 9 +++++++++ 1 files changed, 9 insertions(+) diff -puN mm/vmalloc.c~AA-PM-26-vmalloc mm/vmalloc.c --- memhotplug/mm/vmalloc.c~AA-PM-26-vmalloc 2005-07-28 13:50:57.000000000 -0700 +++ memhotplug-dave/mm/vmalloc.c 2005-07-28 13:50:57.000000000 -0700 @@ -477,7 +477,16 @@ EXPORT_SYMBOL(__vmalloc); */ void *vmalloc(unsigned long size) { +#ifdef CONFIG_MEMORY_HOTPLUG + /* + * XXXX: This is temprary code, which should be replaced with proper one + * after the scheme to specify hot removable region has defined. + * 25/Sep/2004 -- taka + */ + return __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); +#else return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL); +#endif } EXPORT_SYMBOL(vmalloc); _