summaryrefslogtreecommitdiff
path: root/mm/Kconfig
blob: 8283685f3bb3098c5a04120936f836ebb3342a4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
config SELECT_MEMORY_MODEL
	def_bool y
	depends on EXPERIMENTAL || ARCH_SELECT_MEMORY_MODEL

choice
	prompt "Memory model"
	depends on SELECT_MEMORY_MODEL
	default DISCONTIGMEM_MANUAL if ARCH_DISCONTIGMEM_DEFAULT
	default FLATMEM_MANUAL

config FLATMEM_MANUAL
	bool "Flat Memory"
	depends on !ARCH_DISCONTIGMEM_ENABLE || ARCH_FLATMEM_ENABLE
	help
	  This option allows you to change some of the ways that
	  Linux manages its memory internally.  Most users will
	  only have one option here: FLATMEM.  This is normal
	  and a correct option.

	  If unsure, choose this option over any other.

config DISCONTIGMEM_MANUAL
	bool "Discontigious Memory"
	depends on ARCH_DISCONTIGMEM_ENABLE
	help
	  This option provides enhanced support for discontiguous
	  memory systems, over FLATMEM.  These systems have holes
	  in their physical address spaces, and this option provides
	  more efficient handling of these holes.  However, the vast
	  majority of hardware has quite flat address spaces, and
	  can have degraded performance from extra overhead that
	  this option imposes.

	  Many NUMA configurations will have this as the only option.

	  If unsure, choose "Flat Memory" over this option.

endchoice

config DISCONTIGMEM
	def_bool y
	depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL

config FLATMEM
	def_bool y
	depends on !DISCONTIGMEM || FLATMEM_MANUAL

#
# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
# to represent different areas of memory.  This variable allows
# those dependencies to exist individually.
#
config NEED_MULTIPLE_NODES
	def_bool y
	depends on DISCONTIGMEM || NUMA