diff options
author | Gerald Schaefer <gerald.schaefer@de.ibm.com> | 2008-07-24 00:28:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:21 -0400 |
commit | 83d1674a946141c3c59d430e96c224f7937e6158 (patch) | |
tree | 03420c9fdf56ad35de685b7c0b48899d886bd7ff /mm | |
parent | 9ca908f47bc784c90e17a553ce33e756c73feac4 (diff) |
mm: make CONFIG_MIGRATION available w/o CONFIG_NUMA
We'd like to support CONFIG_MEMORY_HOTREMOVE on s390, which depends on
CONFIG_MIGRATION. So far, CONFIG_MIGRATION is only available with NUMA
support.
This patch makes CONFIG_MIGRATION selectable for architectures that define
ARCH_ENABLE_MEMORY_HOTREMOVE. When MIGRATION is enabled w/o NUMA, the
kernel won't compile because migrate_vmas() does not know about
vm_ops->migrate() and vma_migratable() does not know about policy_zone.
To fix this, those two functions can be restricted to '#ifdef CONFIG_NUMA'
because they are not being used w/o NUMA. vma_migratable() is moved over
from migrate.h to mempolicy.h.
[kosaki.motohiro@jp.fujitsu.com: build fix]
Acked-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: KOSAKI Motorhiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/Kconfig | 2 | ||||
-rw-r--r-- | mm/migrate.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/mm/Kconfig b/mm/Kconfig index c4de85285bb4..aa799007a11b 100644 --- a/mm/Kconfig +++ b/mm/Kconfig | |||
@@ -174,7 +174,7 @@ config SPLIT_PTLOCK_CPUS | |||
174 | config MIGRATION | 174 | config MIGRATION |
175 | bool "Page migration" | 175 | bool "Page migration" |
176 | def_bool y | 176 | def_bool y |
177 | depends on NUMA | 177 | depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE |
178 | help | 178 | help |
179 | Allows the migration of the physical location of pages of processes | 179 | Allows the migration of the physical location of pages of processes |
180 | while the virtual addresses are not changed. This is useful for | 180 | while the virtual addresses are not changed. This is useful for |
diff --git a/mm/migrate.c b/mm/migrate.c index e7d13a708da0..376cceba82f9 100644 --- a/mm/migrate.c +++ b/mm/migrate.c | |||
@@ -1071,7 +1071,6 @@ out2: | |||
1071 | mmput(mm); | 1071 | mmput(mm); |
1072 | return err; | 1072 | return err; |
1073 | } | 1073 | } |
1074 | #endif | ||
1075 | 1074 | ||
1076 | /* | 1075 | /* |
1077 | * Call migration functions in the vma_ops that may prepare | 1076 | * Call migration functions in the vma_ops that may prepare |
@@ -1093,3 +1092,4 @@ int migrate_vmas(struct mm_struct *mm, const nodemask_t *to, | |||
1093 | } | 1092 | } |
1094 | return err; | 1093 | return err; |
1095 | } | 1094 | } |
1095 | #endif | ||