| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 1 | config SELECT_MEMORY_MODEL | 
|  | 2 | def_bool y | 
|  | 3 | depends on EXPERIMENTAL || ARCH_SELECT_MEMORY_MODEL | 
|  | 4 |  | 
| Dave Hansen | 3a9da76 | 2005-06-23 00:07:42 -0700 | [diff] [blame] | 5 | choice | 
|  | 6 | prompt "Memory model" | 
| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 7 | depends on SELECT_MEMORY_MODEL | 
|  | 8 | default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT | 
| Andy Whitcroft | d41dee3 | 2005-06-23 00:07:54 -0700 | [diff] [blame] | 9 | default SPARSEMEM_MANUAL if ARCH_SPARSEMEM_DEFAULT | 
| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 10 | default FLATMEM_MANUAL | 
| Dave Hansen | 3a9da76 | 2005-06-23 00:07:42 -0700 | [diff] [blame] | 11 |  | 
| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 12 | config FLATMEM_MANUAL | 
| Dave Hansen | 3a9da76 | 2005-06-23 00:07:42 -0700 | [diff] [blame] | 13 | bool "Flat Memory" | 
|  | 14 | depends on !ARCH_DISCONTIGMEM_ENABLE || ARCH_FLATMEM_ENABLE | 
|  | 15 | help | 
|  | 16 | This option allows you to change some of the ways that | 
|  | 17 | Linux manages its memory internally.  Most users will | 
|  | 18 | only have one option here: FLATMEM.  This is normal | 
|  | 19 | and a correct option. | 
|  | 20 |  | 
| Andy Whitcroft | d41dee3 | 2005-06-23 00:07:54 -0700 | [diff] [blame] | 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. | 
| Dave Hansen | 3a9da76 | 2005-06-23 00:07:42 -0700 | [diff] [blame] | 30 |  | 
| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 31 | config DISCONTIGMEM_MANUAL | 
| Dave Hansen | 3a9da76 | 2005-06-23 00:07:42 -0700 | [diff] [blame] | 32 | bool "Discontigious Memory" | 
|  | 33 | depends on ARCH_DISCONTIGMEM_ENABLE | 
|  | 34 | help | 
| Dave Hansen | 785dcd4 | 2005-06-23 00:07:50 -0700 | [diff] [blame] | 35 | This option provides enhanced support for discontiguous | 
|  | 36 | memory systems, over FLATMEM.  These systems have holes | 
|  | 37 | in their physical address spaces, and this option provides | 
|  | 38 | more efficient handling of these holes.  However, the vast | 
|  | 39 | majority of hardware has quite flat address spaces, and | 
|  | 40 | can have degraded performance from extra overhead that | 
|  | 41 | this option imposes. | 
|  | 42 |  | 
|  | 43 | Many NUMA configurations will have this as the only option. | 
|  | 44 |  | 
| Dave Hansen | 3a9da76 | 2005-06-23 00:07:42 -0700 | [diff] [blame] | 45 | If unsure, choose "Flat Memory" over this option. | 
|  | 46 |  | 
| Andy Whitcroft | d41dee3 | 2005-06-23 00:07:54 -0700 | [diff] [blame] | 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 |  | 
| Dave Hansen | 3a9da76 | 2005-06-23 00:07:42 -0700 | [diff] [blame] | 62 | endchoice | 
|  | 63 |  | 
| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 64 | config DISCONTIGMEM | 
|  | 65 | def_bool y | 
|  | 66 | depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL | 
|  | 67 |  | 
| Andy Whitcroft | d41dee3 | 2005-06-23 00:07:54 -0700 | [diff] [blame] | 68 | config SPARSEMEM | 
|  | 69 | def_bool y | 
|  | 70 | depends on SPARSEMEM_MANUAL | 
|  | 71 |  | 
| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 72 | config FLATMEM | 
|  | 73 | def_bool y | 
| Andy Whitcroft | d41dee3 | 2005-06-23 00:07:54 -0700 | [diff] [blame] | 74 | depends on (!DISCONTIGMEM && !SPARSEMEM) || FLATMEM_MANUAL | 
|  | 75 |  | 
|  | 76 | config FLAT_NODE_MEM_MAP | 
|  | 77 | def_bool y | 
|  | 78 | depends on !SPARSEMEM | 
| Dave Hansen | e1785e8 | 2005-06-23 00:07:49 -0700 | [diff] [blame] | 79 |  | 
| Dave Hansen | 93b7504 | 2005-06-23 00:07:47 -0700 | [diff] [blame] | 80 | # | 
|  | 81 | # Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's | 
|  | 82 | # to represent different areas of memory.  This variable allows | 
|  | 83 | # those dependencies to exist individually. | 
|  | 84 | # | 
|  | 85 | config NEED_MULTIPLE_NODES | 
|  | 86 | def_bool y | 
|  | 87 | depends on DISCONTIGMEM || NUMA | 
| Andy Whitcroft | af70536 | 2005-06-23 00:07:53 -0700 | [diff] [blame] | 88 |  | 
|  | 89 | config HAVE_MEMORY_PRESENT | 
|  | 90 | def_bool y | 
| Andy Whitcroft | d41dee3 | 2005-06-23 00:07:54 -0700 | [diff] [blame] | 91 | depends on ARCH_HAVE_MEMORY_PRESENT || SPARSEMEM |