diff options
Diffstat (limited to 'mm/Kconfig')
-rw-r--r-- | mm/Kconfig | 38 |
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 | ||
11 | config FLATMEM_MANUAL | 12 | config 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 | ||
22 | config DISCONTIGMEM_MANUAL | 31 | config 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 | ||
47 | config 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 | |||
38 | endchoice | 62 | endchoice |
39 | 63 | ||
40 | config DISCONTIGMEM | 64 | config 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 | ||
68 | config SPARSEMEM | ||
69 | def_bool y | ||
70 | depends on SPARSEMEM_MANUAL | ||
71 | |||
44 | config FLATMEM | 72 | config FLATMEM |
45 | def_bool y | 73 | def_bool y |
46 | depends on !DISCONTIGMEM || FLATMEM_MANUAL | 74 | depends on (!DISCONTIGMEM && !SPARSEMEM) || FLATMEM_MANUAL |
75 | |||
76 | config 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 | ||
57 | config HAVE_MEMORY_PRESENT | 89 | config 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 |