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

m68knommu: avoid unneccessary use of xchg() in set_mb()

Avoid unneccessary use of xchg() in set_mb().

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Greg Ungerer and committed by
Linus Torvalds
091b76d6 903be1c5

+1 -1
+1 -1
include/asm-m68knommu/system.h
··· 104 104 #define mb() asm volatile ("" : : :"memory") 105 105 #define rmb() asm volatile ("" : : :"memory") 106 106 #define wmb() asm volatile ("" : : :"memory") 107 - #define set_mb(var, value) do { xchg(&var, value); } while (0) 107 + #define set_mb(var, value) ({ (var) = (value); wmb(); }) 108 108 109 109 #ifdef CONFIG_SMP 110 110 #define smp_mb() mb()