Merge commit 'jwb/next' into next
[safe/jmp/linux-2.6] / mm / Kconfig
index 8cea7fd..527136b 100644 (file)
@@ -115,6 +115,10 @@ config SPARSEMEM_EXTREME
 config SPARSEMEM_VMEMMAP_ENABLE
        bool
 
 config SPARSEMEM_VMEMMAP_ENABLE
        bool
 
+config SPARSEMEM_ALLOC_MEM_MAP_TOGETHER
+       def_bool y
+       depends on SPARSEMEM && X86_64
+
 config SPARSEMEM_VMEMMAP
        bool "Sparse Memory virtual memmap"
        depends on SPARSEMEM && SPARSEMEM_VMEMMAP_ENABLE
 config SPARSEMEM_VMEMMAP
        bool "Sparse Memory virtual memmap"
        depends on SPARSEMEM && SPARSEMEM_VMEMMAP_ENABLE
@@ -168,6 +172,15 @@ config SPLIT_PTLOCK_CPUS
        default "4"
 
 #
        default "4"
 
 #
+# support for memory compaction
+config COMPACTION
+       bool "Allow for memory compaction"
+       select MIGRATION
+       depends on EXPERIMENTAL && HUGETLB_PAGE && MMU
+       help
+         Allows the compaction of memory for the allocation of huge pages.
+
+#
 # support for page migration
 #
 config MIGRATION
 # support for page migration
 #
 config MIGRATION
@@ -176,9 +189,11 @@ config MIGRATION
        depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE
        help
          Allows the migration of the physical location of pages of processes
        depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE
        help
          Allows the migration of the physical location of pages of processes
-         while the virtual addresses are not changed. This is useful for
-         example on NUMA systems to put pages nearer to the processors accessing
-         the page.
+         while the virtual addresses are not changed. This is useful in
+         two situations. The first is on NUMA systems to put pages nearer
+         to the processors accessing. The second is when allocating huge
+         pages as migration can relocate pages to satisfy a huge page
+         allocation instead of reclaiming.
 
 config PHYS_ADDR_T_64BIT
        def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT
 
 config PHYS_ADDR_T_64BIT
        def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT
@@ -195,7 +210,7 @@ config BOUNCE
 config NR_QUICK
        int
        depends on QUICKLIST
 config NR_QUICK
        int
        depends on QUICKLIST
-       default "2" if SUPERH || AVR32
+       default "2" if AVR32
        default "1"
 
 config VIRT_TO_BUS
        default "1"
 
 config VIRT_TO_BUS
@@ -221,6 +236,7 @@ config KSM
 
 config DEFAULT_MMAP_MIN_ADDR
         int "Low address space to protect from user allocation"
 
 config DEFAULT_MMAP_MIN_ADDR
         int "Low address space to protect from user allocation"
+       depends on MMU
         default 4096
         help
          This is the portion of low virtual memory which should be protected
         default 4096
         help
          This is the portion of low virtual memory which should be protected
@@ -251,8 +267,8 @@ config MEMORY_FAILURE
          special hardware support and typically ECC memory.
 
 config HWPOISON_INJECT
          special hardware support and typically ECC memory.
 
 config HWPOISON_INJECT
-       tristate "Poison pages injector"
-       depends on MEMORY_FAILURE && DEBUG_KERNEL
+       tristate "HWPoison pages injector"
+       depends on MEMORY_FAILURE && DEBUG_KERNEL && PROC_FS
        select PROC_PAGE_MONITOR
 
 config NOMMU_INITIAL_TRIM_EXCESS
        select PROC_PAGE_MONITOR
 
 config NOMMU_INITIAL_TRIM_EXCESS