diff mbox series

[2/2] ARM: mcs_spinlock: Drop smp_wmb in arch_mcs_spin_lock_contended()

Message ID 20210127200109.16412-2-alexander.sverdlin@nokia.com (mailing list archive)
State New, archived
Headers show
Series [1/2] qspinlock: Ensure writes are pushed out of core write buffer | expand

Commit Message

Alexander Sverdlin Jan. 27, 2021, 8:01 p.m. UTC
From: Alexander Sverdlin <alexander.sverdlin@nokia.com>

Drop smp_wmb in arch_mcs_spin_lock_contended() after adding in into
ARCH-independent code.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
---
 arch/arm/include/asm/mcs_spinlock.h | 2 --
 1 file changed, 2 deletions(-)

Comments

Will Deacon Jan. 27, 2021, 10:22 p.m. UTC | #1
On Wed, Jan 27, 2021 at 09:01:09PM +0100, Alexander A Sverdlin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@nokia.com>
> 
> Drop smp_wmb in arch_mcs_spin_lock_contended() after adding in into
> ARCH-independent code.
> 
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
> ---
>  arch/arm/include/asm/mcs_spinlock.h | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/arm/include/asm/mcs_spinlock.h b/arch/arm/include/asm/mcs_spinlock.h
> index 529d2cf..d8fa921 100644
> --- a/arch/arm/include/asm/mcs_spinlock.h
> +++ b/arch/arm/include/asm/mcs_spinlock.h
> @@ -8,8 +8,6 @@
>  /* MCS spin-locking. */
>  #define arch_mcs_spin_lock_contended(lock)				\
>  do {									\
> -	/* Ensure prior stores are observed before we enter wfe. */	\
> -	smp_mb();							\

I think this is the right place for the barrier, not in the core code.

Will
diff mbox series

Patch

diff --git a/arch/arm/include/asm/mcs_spinlock.h b/arch/arm/include/asm/mcs_spinlock.h
index 529d2cf..d8fa921 100644
--- a/arch/arm/include/asm/mcs_spinlock.h
+++ b/arch/arm/include/asm/mcs_spinlock.h
@@ -8,8 +8,6 @@ 
 /* MCS spin-locking. */
 #define arch_mcs_spin_lock_contended(lock)				\
 do {									\
-	/* Ensure prior stores are observed before we enter wfe. */	\
-	smp_mb();							\
 	while (!(smp_load_acquire(lock)))				\
 		wfe();							\
 } while (0)								\