diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2012-01-12 20:17:30 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-12 23:13:03 -0500 |
commit | 4156153c4daddf12dd386016f96a947a01e93bf4 (patch) | |
tree | 6a8653a47bcda09b97870e5c79919790638afe0c | |
parent | 43570fd2f47ba518145e9289f54cde3dba4c8b25 (diff) |
mm,x86,um: move CMPXCHG_LOCAL config option
Move CMPXCHG_LOCAL and rename it to HAVE_CMPXCHG_LOCAL so architectures
can simply select the option if it is supported.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/Kconfig | 3 | ||||
-rw-r--r-- | arch/x86/Kconfig | 1 | ||||
-rw-r--r-- | arch/x86/Kconfig.cpu | 3 | ||||
-rw-r--r-- | arch/x86/um/Kconfig | 4 | ||||
-rw-r--r-- | mm/vmstat.c | 2 |
5 files changed, 5 insertions, 8 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index a2c5c077c32d..22182a8cc62c 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
@@ -193,4 +193,7 @@ config HAVE_ALIGNED_STRUCT_PAGE | |||
193 | on a struct page for better performance. However selecting this | 193 | on a struct page for better performance. However selecting this |
194 | might increase the size of a struct page by a word. | 194 | might increase the size of a struct page by a word. |
195 | 195 | ||
196 | config HAVE_CMPXCHG_LOCAL | ||
197 | bool | ||
198 | |||
196 | source "kernel/gcov/Kconfig" | 199 | source "kernel/gcov/Kconfig" |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 5201a2c27239..59717fd17bc7 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -61,6 +61,7 @@ config X86 | |||
61 | select HAVE_PERF_EVENTS_NMI | 61 | select HAVE_PERF_EVENTS_NMI |
62 | select ANON_INODES | 62 | select ANON_INODES |
63 | select HAVE_ALIGNED_STRUCT_PAGE if SLUB && !M386 | 63 | select HAVE_ALIGNED_STRUCT_PAGE if SLUB && !M386 |
64 | select HAVE_CMPXCHG_LOCAL if !M386 | ||
64 | select HAVE_ARCH_KMEMCHECK | 65 | select HAVE_ARCH_KMEMCHECK |
65 | select HAVE_USER_RETURN_NOTIFIER | 66 | select HAVE_USER_RETURN_NOTIFIER |
66 | select ARCH_BINFMT_ELF_RANDOMIZE_PIE | 67 | select ARCH_BINFMT_ELF_RANDOMIZE_PIE |
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index e3ca7e0d858c..99d2ab8b7795 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
@@ -309,9 +309,6 @@ config X86_INTERNODE_CACHE_SHIFT | |||
309 | config X86_CMPXCHG | 309 | config X86_CMPXCHG |
310 | def_bool X86_64 || (X86_32 && !M386) | 310 | def_bool X86_64 || (X86_32 && !M386) |
311 | 311 | ||
312 | config CMPXCHG_LOCAL | ||
313 | def_bool X86_64 || (X86_32 && !M386) | ||
314 | |||
315 | config CMPXCHG_DOUBLE | 312 | config CMPXCHG_DOUBLE |
316 | def_bool y | 313 | def_bool y |
317 | 314 | ||
diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig index 1d97bd84b6fb..a62bfc66239e 100644 --- a/arch/x86/um/Kconfig +++ b/arch/x86/um/Kconfig | |||
@@ -6,10 +6,6 @@ menu "UML-specific options" | |||
6 | 6 | ||
7 | menu "Host processor type and features" | 7 | menu "Host processor type and features" |
8 | 8 | ||
9 | config CMPXCHG_LOCAL | ||
10 | bool | ||
11 | default n | ||
12 | |||
13 | config CMPXCHG_DOUBLE | 9 | config CMPXCHG_DOUBLE |
14 | bool | 10 | bool |
15 | default n | 11 | default n |
diff --git a/mm/vmstat.c b/mm/vmstat.c index 8fd603b1665e..f600557a7659 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -295,7 +295,7 @@ void __dec_zone_page_state(struct page *page, enum zone_stat_item item) | |||
295 | } | 295 | } |
296 | EXPORT_SYMBOL(__dec_zone_page_state); | 296 | EXPORT_SYMBOL(__dec_zone_page_state); |
297 | 297 | ||
298 | #ifdef CONFIG_CMPXCHG_LOCAL | 298 | #ifdef CONFIG_HAVE_CMPXCHG_LOCAL |
299 | /* | 299 | /* |
300 | * If we have cmpxchg_local support then we do not need to incur the overhead | 300 | * If we have cmpxchg_local support then we do not need to incur the overhead |
301 | * that comes with local_irq_save/restore if we use this_cpu_cmpxchg. | 301 | * that comes with local_irq_save/restore if we use this_cpu_cmpxchg. |