diff options
author | Mel Gorman <mel@csn.ul.ie> | 2010-05-24 17:32:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-25 11:06:59 -0400 |
commit | e9e96b39f932a065e14f5d5bab0797ae261d03b5 (patch) | |
tree | 1164a4bf40c34715944b47da035ba823f1d8b60a | |
parent | 3fe2011ff51e92500010a495df4be86745fbbda9 (diff) |
mm: allow CONFIG_MIGRATION to be set without CONFIG_NUMA or memory hot-remove
CONFIG_MIGRATION currently depends on CONFIG_NUMA or on the architecture
being able to hot-remove memory. The main users of page migration such as
sys_move_pages(), sys_migrate_pages() and cpuset process migration are
only beneficial on NUMA so it makes sense.
As memory compaction will operate within a zone and is useful on both NUMA
and non-NUMA systems, this patch allows CONFIG_MIGRATION to be set if the
user selects CONFIG_COMPACTION as an option.
[akpm@linux-foundation.org: Depend on CONFIG_HUGETLB_PAGE]
Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Reviewed-by: Christoph Lameter <cl@linux-foundation.org>
Reviewed-by: Rik van Riel <riel@redhat.com>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Minchan Kim <minchan.kim@gmail.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/Kconfig | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/mm/Kconfig b/mm/Kconfig index 9c61158308dc..527136b22384 100644 --- a/mm/Kconfig +++ b/mm/Kconfig | |||
@@ -172,6 +172,15 @@ config SPLIT_PTLOCK_CPUS | |||
172 | default "4" | 172 | default "4" |
173 | 173 | ||
174 | # | 174 | # |
175 | # support for memory compaction | ||
176 | config COMPACTION | ||
177 | bool "Allow for memory compaction" | ||
178 | select MIGRATION | ||
179 | depends on EXPERIMENTAL && HUGETLB_PAGE && MMU | ||
180 | help | ||
181 | Allows the compaction of memory for the allocation of huge pages. | ||
182 | |||
183 | # | ||
175 | # support for page migration | 184 | # support for page migration |
176 | # | 185 | # |
177 | config MIGRATION | 186 | config MIGRATION |
@@ -180,9 +189,11 @@ config MIGRATION | |||
180 | depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE | 189 | depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE |
181 | help | 190 | help |
182 | Allows the migration of the physical location of pages of processes | 191 | Allows the migration of the physical location of pages of processes |
183 | while the virtual addresses are not changed. This is useful for | 192 | while the virtual addresses are not changed. This is useful in |
184 | example on NUMA systems to put pages nearer to the processors accessing | 193 | two situations. The first is on NUMA systems to put pages nearer |
185 | the page. | 194 | to the processors accessing. The second is when allocating huge |
195 | pages as migration can relocate pages to satisfy a huge page | ||
196 | allocation instead of reclaiming. | ||
186 | 197 | ||
187 | config PHYS_ADDR_T_64BIT | 198 | config PHYS_ADDR_T_64BIT |
188 | def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT | 199 | def_bool 64BIT || ARCH_PHYS_ADDR_T_64BIT |