]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
sh: Provide FORCE_MAX_ZONEORDER.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 14 May 2009 08:40:08 +0000 (17:40 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 14 May 2009 08:40:08 +0000 (17:40 +0900)
Several platforms want to be able to do large physically contiguous
allocations (primarily nommu and video codecs on SH-Mobile), provide a
MAX_ORDER override for those cases.

Tested-by: Conrad Parker <conrad@metadecks.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/Kconfig

index b900d2cd18f7fe7e6ca5c1e3a9dadbc222731b4d..2795618e4f072ba4d0c04c4841c0d90606fb4f94 100644 (file)
@@ -21,6 +21,29 @@ config PAGE_OFFSET
        default "0x20000000" if MMU && SUPERH64
        default "0x00000000"
 
+config FORCE_MAX_ZONEORDER
+       int "Maximum zone order"
+       range 9 64 if PAGE_SIZE_16KB
+       default "9" if PAGE_SIZE_16KB
+       range 7 64 if PAGE_SIZE_64KB
+       default "7" if PAGE_SIZE_64KB
+       range 11 64
+       default "14" if !MMU
+       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.
+
+         The page size is not necessarily 4KB. Keep this in mind when
+         choosing a value for this option.
+
 config MEMORY_START
        hex "Physical memory start address"
        default "0x08000000"