Commit 2565409fc0303f3ab8d66b8326702a687962a29b

Authored by Heiko Carstens
Committed by Linus Torvalds
1 parent 4156153c4d

mm,x86,um: move CMPXCHG_DOUBLE config option

Move CMPXCHG_DOUBLE and rename it to HAVE_CMPXCHG_DOUBLE 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>

Showing 5 changed files with 10 additions and 10 deletions Side-by-side Diff

... ... @@ -196,5 +196,8 @@
196 196 config HAVE_CMPXCHG_LOCAL
197 197 bool
198 198  
  199 +config HAVE_CMPXCHG_DOUBLE
  200 + bool
  201 +
199 202 source "kernel/gcov/Kconfig"
... ... @@ -62,6 +62,7 @@
62 62 select ANON_INODES
63 63 select HAVE_ALIGNED_STRUCT_PAGE if SLUB && !M386
64 64 select HAVE_CMPXCHG_LOCAL if !M386
  65 + select HAVE_CMPXCHG_DOUBLE
65 66 select HAVE_ARCH_KMEMCHECK
66 67 select HAVE_USER_RETURN_NOTIFIER
67 68 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
arch/x86/Kconfig.cpu
... ... @@ -309,9 +309,6 @@
309 309 config X86_CMPXCHG
310 310 def_bool X86_64 || (X86_32 && !M386)
311 311  
312   -config CMPXCHG_DOUBLE
313   - def_bool y
314   -
315 312 config X86_L1_CACHE_SHIFT
316 313 int
317 314 default "7" if MPENTIUM4 || MPSC
... ... @@ -6,10 +6,6 @@
6 6  
7 7 menu "Host processor type and features"
8 8  
9   -config CMPXCHG_DOUBLE
10   - bool
11   - default n
12   -
13 9 source "arch/x86/Kconfig.cpu"
14 10  
15 11 endmenu
... ... @@ -366,7 +366,8 @@
366 366 const char *n)
367 367 {
368 368 VM_BUG_ON(!irqs_disabled());
369   -#if defined(CONFIG_CMPXCHG_DOUBLE) && defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE)
  369 +#if defined(CONFIG_HAVE_CMPXCHG_DOUBLE) && \
  370 + defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE)
370 371 if (s->flags & __CMPXCHG_DOUBLE) {
371 372 if (cmpxchg_double(&page->freelist, &page->counters,
372 373 freelist_old, counters_old,
... ... @@ -400,7 +401,8 @@
400 401 void *freelist_new, unsigned long counters_new,
401 402 const char *n)
402 403 {
403   -#if defined(CONFIG_CMPXCHG_DOUBLE) && defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE)
  404 +#if defined(CONFIG_HAVE_CMPXCHG_DOUBLE) && \
  405 + defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE)
404 406 if (s->flags & __CMPXCHG_DOUBLE) {
405 407 if (cmpxchg_double(&page->freelist, &page->counters,
406 408 freelist_old, counters_old,
... ... @@ -3014,7 +3016,8 @@
3014 3016 }
3015 3017 }
3016 3018  
3017   -#if defined(CONFIG_CMPXCHG_DOUBLE) && defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE)
  3019 +#if defined(CONFIG_HAVE_CMPXCHG_DOUBLE) && \
  3020 + defined(CONFIG_HAVE_ALIGNED_STRUCT_PAGE)
3018 3021 if (system_has_cmpxchg_double() && (s->flags & SLAB_DEBUG_FLAGS) == 0)
3019 3022 /* Enable fast mode */
3020 3023 s->flags |= __CMPXCHG_DOUBLE;