blob: 8283685f3bb3098c5a04120936f836ebb3342a4b [file] [log] [blame]
Dave Hansene1785e82005-06-23 00:07:49 -07001config SELECT_MEMORY_MODEL
2 def_bool y
3 depends on EXPERIMENTAL || ARCH_SELECT_MEMORY_MODEL
4
Dave Hansen3a9da762005-06-23 00:07:42 -07005choice
6 prompt "Memory model"
Dave Hansene1785e82005-06-23 00:07:49 -07007 depends on SELECT_MEMORY_MODEL
8 default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT
9 default FLATMEM_MANUAL
Dave Hansen3a9da762005-06-23 00:07:42 -070010
Dave Hansene1785e82005-06-23 00:07:49 -070011config FLATMEM_MANUAL
Dave Hansen3a9da762005-06-23 00:07:42 -070012 bool "Flat Memory"
13 depends on !ARCH_DISCONTIGMEM_ENABLE || ARCH_FLATMEM_ENABLE
14 help
15 This option allows you to change some of the ways that
16 Linux manages its memory internally. Most users will
17 only have one option here: FLATMEM. This is normal
18 and a correct option.
19
20 If unsure, choose this option over any other.
21
Dave Hansene1785e82005-06-23 00:07:49 -070022config DISCONTIGMEM_MANUAL
Dave Hansen3a9da762005-06-23 00:07:42 -070023 bool "Discontigious Memory"
24 depends on ARCH_DISCONTIGMEM_ENABLE
25 help
Dave Hansen785dcd42005-06-23 00:07:50 -070026 This option provides enhanced support for discontiguous
27 memory systems, over FLATMEM. These systems have holes
28 in their physical address spaces, and this option provides
29 more efficient handling of these holes. However, the vast
30 majority of hardware has quite flat address spaces, and
31 can have degraded performance from extra overhead that
32 this option imposes.
33
34 Many NUMA configurations will have this as the only option.
35
Dave Hansen3a9da762005-06-23 00:07:42 -070036 If unsure, choose "Flat Memory" over this option.
37
38endchoice
39
Dave Hansene1785e82005-06-23 00:07:49 -070040config DISCONTIGMEM
41 def_bool y
42 depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL
43
44config FLATMEM
45 def_bool y
46 depends on !DISCONTIGMEM || FLATMEM_MANUAL
47
Dave Hansen93b75042005-06-23 00:07:47 -070048#
49# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
50# to represent different areas of memory. This variable allows
51# those dependencies to exist individually.
52#
53config NEED_MULTIPLE_NODES
54 def_bool y
55 depends on DISCONTIGMEM || NUMA