diff options
author | Paul Burton <paul.burton@mips.com> | 2019-10-01 21:53:21 +0000 |
---|---|---|
committer | Paul Burton <paul.burton@mips.com> | 2019-10-07 09:42:32 -0700 |
commit | 77d281b7966e476927a45c5fb272d720aa75bb95 (patch) | |
tree | 0b2c440703c058cc6fe3e41923a9a9318a86d5e3 | |
parent | 4d1dbfe6cbec34c6398a480c0572bba794e89e11 (diff) | |
download | linux-stable-77d281b7966e476927a45c5fb272d720aa75bb95.tar.gz linux-stable-77d281b7966e476927a45c5fb272d720aa75bb95.tar.bz2 linux-stable-77d281b7966e476927a45c5fb272d720aa75bb95.zip |
MIPS: atomic: Use _atomic barriers in atomic_sub_if_positive()
Use smp_mb__before_atomic() & smp_mb__after_atomic() in
atomic_sub_if_positive() rather than the equivalent
smp_mb__before_llsc() & smp_llsc_mb(). The former are more standard &
this preps us for avoiding redundant duplicate barriers on Loongson3 in
a later patch.
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: linux-kernel@vger.kernel.org
-rw-r--r-- | arch/mips/include/asm/atomic.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h index 841ff274ada6..24443ef29337 100644 --- a/arch/mips/include/asm/atomic.h +++ b/arch/mips/include/asm/atomic.h @@ -196,7 +196,7 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) { int result; - smp_mb__before_llsc(); + smp_mb__before_atomic(); if (kernel_uses_llsc) { int temp; @@ -237,7 +237,7 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) * another barrier here. */ if (!__SYNC_loongson3_war) - smp_llsc_mb(); + smp_mb__after_atomic(); return result; } |