aboutsummaryrefslogtreecommitdiffstats
path: root/mm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'mm/Kconfig')
-rw-r--r--mm/Kconfig38
1 files changed, 35 insertions, 3 deletions
diff --git a/mm/Kconfig b/mm/Kconfig
index 5127441561b4..cd379936cac6 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -6,6 +6,7 @@ choice
6 prompt "Memory model" 6 prompt "Memory model"
7 depends on SELECT_MEMORY_MODEL 7 depends on SELECT_MEMORY_MODEL
8 default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT 8 default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT
9 default SPARSEMEM_MANUAL if ARCH_SPARSEMEM_DEFAULT
9 default FLATMEM_MANUAL 10 default FLATMEM_MANUAL
10 11
11config FLATMEM_MANUAL 12config FLATMEM_MANUAL
@@ -17,7 +18,15 @@ config FLATMEM_MANUAL
17 only have one option here: FLATMEM. This is normal 18 only have one option here: FLATMEM. This is normal
18 and a correct option. 19 and a correct option.
19 20
20 If unsure, choose this option over any other. 21 Some users of more advanced features like NUMA and
22 memory hotplug may have different options here.
23 DISCONTIGMEM is an more mature, better tested system,
24 but is incompatible with memory hotplug and may suffer
25 decreased performance over SPARSEMEM. If unsure between
26 "Sparse Memory" and "Discontiguous Memory", choose
27 "Discontiguous Memory".
28
29 If unsure, choose this option (Flat Memory) over any other.
21 30
22config DISCONTIGMEM_MANUAL 31config DISCONTIGMEM_MANUAL
23 bool "Discontigious Memory" 32 bool "Discontigious Memory"
@@ -35,15 +44,38 @@ config DISCONTIGMEM_MANUAL
35 44
36 If unsure, choose "Flat Memory" over this option. 45 If unsure, choose "Flat Memory" over this option.
37 46
47config SPARSEMEM_MANUAL
48 bool "Sparse Memory"
49 depends on ARCH_SPARSEMEM_ENABLE
50 help
51 This will be the only option for some systems, including
52 memory hotplug systems. This is normal.
53
54 For many other systems, this will be an alternative to
55 "Discontigious Memory". This option provides some potential
56 performance benefits, along with decreased code complexity,
57 but it is newer, and more experimental.
58
59 If unsure, choose "Discontiguous Memory" or "Flat Memory"
60 over this option.
61
38endchoice 62endchoice
39 63
40config DISCONTIGMEM 64config DISCONTIGMEM
41 def_bool y 65 def_bool y
42 depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL 66 depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL
43 67
68config SPARSEMEM
69 def_bool y
70 depends on SPARSEMEM_MANUAL
71
44config FLATMEM 72config FLATMEM
45 def_bool y 73 def_bool y
46 depends on !DISCONTIGMEM || FLATMEM_MANUAL 74 depends on (!DISCONTIGMEM && !SPARSEMEM) || FLATMEM_MANUAL
75
76config FLAT_NODE_MEM_MAP
77 def_bool y
78 depends on !SPARSEMEM
47 79
48# 80#
49# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's 81# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
@@ -56,4 +88,4 @@ config NEED_MULTIPLE_NODES
56 88
57config HAVE_MEMORY_PRESENT 89config HAVE_MEMORY_PRESENT
58 def_bool y 90 def_bool y
59 depends on ARCH_HAVE_MEMORY_PRESENT 91 depends on ARCH_HAVE_MEMORY_PRESENT || SPARSEMEM