]> git.neil.brown.name Git - history.git/commitdiff
Make x86 UP "set_mb()" use a lighter barrier than doing a full
authorLinus Torvalds <torvalds@home.transmeta.com>
Fri, 18 Oct 2002 07:40:02 +0000 (00:40 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 18 Oct 2002 07:40:02 +0000 (00:40 -0700)
locked "xchg". It only needs a compiler barrier on UP.

include/asm-i386/system.h

index d6b04c0fed0995480e1d436ed52200ad7f46a5e9..9bdecec2a22999b8e83dc672b586d2978ac5ab23 100644 (file)
@@ -296,13 +296,14 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
 #define smp_mb()       mb()
 #define smp_rmb()      rmb()
 #define smp_wmb()      wmb()
+#define set_mb(var, value) do { xchg(&var, value); } while (0)
 #else
 #define smp_mb()       barrier()
 #define smp_rmb()      barrier()
 #define smp_wmb()      barrier()
+#define set_mb(var, value) do { var = value; barrier(); } while (0)
 #endif
 
-#define set_mb(var, value) do { xchg(&var, value); } while (0)
 #define set_wmb(var, value) do { var = value; wmb(); } while (0)
 
 /* interrupt control.. */