default value of VMALLOC_START was set 0xf0000000 for ARM by commit 0536bdf3. It leads lowmem end address 0xef800000 not 0xf0000000.
VMALLOC_END - (240 << 20) - VMALLOC_OFFSET) 0xff000000 - 0x0f000000 - 0x00800000 = 0xef800000 In case of 768MB ram without CONFIG_HIGHMEM=y, last 8MB could not be allocated. Kernel log also print out warning message as below. "Truncating RAM at 80000000-afffffff to -af7fffff (vmalloc region overlap)." Although it could be solved by state "vmalloc=size" in cmdline but i think it would be better to change default value to 232 from 240. Signed-off-by: Yongtaek Lee <ytk....@samsung.com> --- arch/arm/mm/mmu.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index 8348ed6..9a1bab4 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -1040,12 +1040,12 @@ void __init debug_ll_io_init(void) #endif static void * __initdata vmalloc_min = - (void *)(VMALLOC_END - (240 << 20) - VMALLOC_OFFSET); + (void *)(VMALLOC_END - (232 << 20) - VMALLOC_OFFSET); /* * vmalloc=size forces the vmalloc area to be exactly 'size' * bytes. This can be used to increase (or decrease) the vmalloc - * area - the default is 240m. + * area - the default is 232m. */ static int __init early_vmalloc(char *arg) { -- 1.7.9 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/