From 8ad64edbf92ac8e0253677bd3f9ad376ce3be7d1 Mon Sep 17 00:00:00 2001 From: Marc Leeman Date: Wed, 26 Oct 2011 10:35:24 +0200 Subject: [PATCH 3.3] KConfig x86: enable FORCE_MAX_ZONEORDER Larger blocks of memory can be required for e.g. higher resolutions on some capture card drivers; this patch just enables an already available configuration option on x86 (it was already exposed on other architectures). The default is set to 11, as in ./include/linux/mmzone.h [barco@nmgserver001 linux-3.0]$ find . -name Kconfig | xargs grep FORCE_MAX_ZONEORDER ./arch/ia64/Kconfig:config FORCE_MAX_ZONEORDER ./arch/cris/Kconfig:config FORCE_MAX_ZONEORDER ./arch/arm/Kconfig:config FORCE_MAX_ZONEORDER ./arch/s390/Kconfig:config FORCE_MAX_ZONEORDER ./arch/mips/Kconfig:config FORCE_MAX_ZONEORDER ./arch/sh/mm/Kconfig:config FORCE_MAX_ZONEORDER ./arch/blackfin/Kconfig:config FORCE_MAX_ZONEORDER ./arch/powerpc/Kconfig:config FORCE_MAX_ZONEORDER Signed-off-by: Marc Leeman --- arch/x86/Kconfig | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 9a4a267..68a98e8 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1312,6 +1312,22 @@ config ILLEGAL_POINTER_VALUE source "mm/Kconfig" +config FORCE_MAX_ZONEORDER + int "Maximum zone order" + range 11 64 + default "11" + help + The kernel memory allocator divides physically contiguous memory + blocks into "zones", where each zone is a power of two number of + pages. This option selects the largest power of two that the kernel + keeps in the memory allocator. If you need to allocate very large + blocks of physically contiguous memory, then you may need to + increase this value. + + This config option is actually maximum order plus one. For example, + a value of 11 means that the largest free memory block is 2^10 pages. + + config HIGHPTE bool "Allocate 3rd-level pagetables from highmem" depends on HIGHMEM -- 1.7.2.5