Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] remove set_wmb - arch removal

set_wmb should not be used in the kernel because it just confuses the
code more and has no benefit. Since it is not currently used in the
kernel this patch removes it so that new code does not include it.

All archs define set_wmb(var, value) to do { var = value; wmb(); }
while(0) except ia64 and sparc which use a mb() instead. But this is
still moot since it is not used anyway.

Hasn't been tested on any archs but x86 and x86_64 (and only compiled
tested)

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Steven Rostedt and committed by
Linus Torvalds
52393ccc f92213ba

+1 -31
-3
include/asm-alpha/barrier.h
··· 30 30 #define set_mb(var, value) \ 31 31 do { var = value; mb(); } while (0) 32 32 33 - #define set_wmb(var, value) \ 34 - do { var = value; wmb(); } while (0) 35 - 36 33 #endif /* __BARRIER_H */
-1
include/asm-arm/system.h
··· 176 176 #define wmb() mb() 177 177 #define read_barrier_depends() do { } while(0) 178 178 #define set_mb(var, value) do { var = value; mb(); } while (0) 179 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 180 179 #define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t"); 181 180 182 181 /*
-1
include/asm-arm26/system.h
··· 90 90 91 91 #define read_barrier_depends() do { } while(0) 92 92 #define set_mb(var, value) do { var = value; mb(); } while (0) 93 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 94 93 95 94 /* 96 95 * We assume knowledge of how
-1
include/asm-cris/system.h
··· 17 17 #define wmb() mb() 18 18 #define read_barrier_depends() do { } while(0) 19 19 #define set_mb(var, value) do { var = value; mb(); } while (0) 20 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 21 20 22 21 #ifdef CONFIG_SMP 23 22 #define smp_mb() mb()
-1
include/asm-frv/system.h
··· 179 179 #define rmb() asm volatile ("membar" : : :"memory") 180 180 #define wmb() asm volatile ("membar" : : :"memory") 181 181 #define set_mb(var, value) do { var = value; mb(); } while (0) 182 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 183 182 184 183 #define smp_mb() mb() 185 184 #define smp_rmb() rmb()
-1
include/asm-h8300/system.h
··· 84 84 #define wmb() asm volatile ("" : : :"memory") 85 85 #define set_rmb(var, value) do { xchg(&var, value); } while (0) 86 86 #define set_mb(var, value) set_rmb(var, value) 87 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 88 87 89 88 #ifdef CONFIG_SMP 90 89 #define smp_mb() mb()
-2
include/asm-i386/system.h
··· 453 453 #define set_mb(var, value) do { var = value; barrier(); } while (0) 454 454 #endif 455 455 456 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 457 - 458 456 #include <linux/irqflags.h> 459 457 460 458 /*
+1 -2
include/asm-ia64/system.h
··· 98 98 #endif 99 99 100 100 /* 101 - * XXX check on these---I suspect what Linus really wants here is 101 + * XXX check on this ---I suspect what Linus really wants here is 102 102 * acquire vs release semantics but we can't discuss this stuff with 103 103 * Linus just yet. Grrr... 104 104 */ 105 105 #define set_mb(var, value) do { (var) = (value); mb(); } while (0) 106 - #define set_wmb(var, value) do { (var) = (value); mb(); } while (0) 107 106 108 107 #define safe_halt() ia64_pal_halt_light() /* PAL_HALT_LIGHT */ 109 108
-1
include/asm-m32r/system.h
··· 336 336 #endif 337 337 338 338 #define set_mb(var, value) do { xchg(&var, value); } while (0) 339 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 340 339 341 340 #define arch_align_stack(x) (x) 342 341
-1
include/asm-m68k/system.h
··· 80 80 #define wmb() barrier() 81 81 #define read_barrier_depends() do { } while(0) 82 82 #define set_mb(var, value) do { xchg(&var, value); } while (0) 83 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 84 83 85 84 #define smp_mb() barrier() 86 85 #define smp_rmb() barrier()
-1
include/asm-m68knommu/system.h
··· 106 106 #define wmb() asm volatile ("" : : :"memory") 107 107 #define set_rmb(var, value) do { xchg(&var, value); } while (0) 108 108 #define set_mb(var, value) set_rmb(var, value) 109 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 110 109 111 110 #ifdef CONFIG_SMP 112 111 #define smp_mb() mb()
-3
include/asm-mips/system.h
··· 143 143 #define set_mb(var, value) \ 144 144 do { var = value; mb(); } while (0) 145 145 146 - #define set_wmb(var, value) \ 147 - do { var = value; wmb(); } while (0) 148 - 149 146 /* 150 147 * switch_to(n) should switch tasks to task nr n, first 151 148 * checking that n isn't the current task, in which case it does nothing.
-2
include/asm-parisc/system.h
··· 143 143 #define read_barrier_depends() do { } while(0) 144 144 145 145 #define set_mb(var, value) do { var = value; mb(); } while (0) 146 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 147 - 148 146 149 147 #ifndef CONFIG_PA20 150 148 /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data,
-1
include/asm-powerpc/system.h
··· 39 39 #define read_barrier_depends() do { } while(0) 40 40 41 41 #define set_mb(var, value) do { var = value; mb(); } while (0) 42 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 43 42 44 43 #ifdef __KERNEL__ 45 44 #ifdef CONFIG_SMP
-1
include/asm-ppc/system.h
··· 33 33 #define read_barrier_depends() do { } while(0) 34 34 35 35 #define set_mb(var, value) do { var = value; mb(); } while (0) 36 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 37 36 38 37 #ifdef CONFIG_SMP 39 38 #define smp_mb() mb()
-1
include/asm-s390/system.h
··· 299 299 300 300 301 301 #define set_mb(var, value) do { var = value; mb(); } while (0) 302 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 303 302 304 303 #ifdef __s390x__ 305 304
-1
include/asm-sh/system.h
··· 101 101 #endif 102 102 103 103 #define set_mb(var, value) do { xchg(&var, value); } while (0) 104 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 105 104 106 105 /* Interrupt Control */ 107 106 static __inline__ void local_irq_enable(void)
-1
include/asm-sh64/system.h
··· 66 66 67 67 #define set_rmb(var, value) do { xchg(&var, value); } while (0) 68 68 #define set_mb(var, value) set_rmb(var, value) 69 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 70 69 71 70 /* Interrupt Control */ 72 71 #ifndef HARD_CLI
-1
include/asm-sparc/system.h
··· 199 199 #define wmb() mb() 200 200 #define read_barrier_depends() do { } while(0) 201 201 #define set_mb(__var, __value) do { __var = __value; mb(); } while(0) 202 - #define set_wmb(__var, __value) set_mb(__var, __value) 203 202 #define smp_mb() __asm__ __volatile__("":::"memory") 204 203 #define smp_rmb() __asm__ __volatile__("":::"memory") 205 204 #define smp_wmb() __asm__ __volatile__("":::"memory")
-2
include/asm-sparc64/system.h
··· 123 123 #define read_barrier_depends() do { } while(0) 124 124 #define set_mb(__var, __value) \ 125 125 do { __var = __value; membar_storeload_storestore(); } while(0) 126 - #define set_wmb(__var, __value) \ 127 - do { __var = __value; wmb(); } while(0) 128 126 129 127 #ifdef CONFIG_SMP 130 128 #define smp_mb() mb()
-1
include/asm-v850/system.h
··· 68 68 #define read_barrier_depends() ((void)0) 69 69 #define set_rmb(var, value) do { xchg (&var, value); } while (0) 70 70 #define set_mb(var, value) set_rmb (var, value) 71 - #define set_wmb(var, value) do { var = value; wmb (); } while (0) 72 71 73 72 #define smp_mb() mb () 74 73 #define smp_rmb() rmb ()
-1
include/asm-x86_64/system.h
··· 240 240 #endif 241 241 #define read_barrier_depends() do {} while(0) 242 242 #define set_mb(var, value) do { (void) xchg(&var, value); } while (0) 243 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 244 243 245 244 #define warn_if_not_ulong(x) do { unsigned long foo; (void) (&(x) == &foo); } while (0) 246 245
-1
include/asm-xtensa/system.h
··· 99 99 #endif 100 100 101 101 #define set_mb(var, value) do { var = value; mb(); } while (0) 102 - #define set_wmb(var, value) do { var = value; wmb(); } while (0) 103 102 104 103 #if !defined (__ASSEMBLY__) 105 104