Hi, While doing an audit of smp_mb__after_spinlock, I found that csky defines it, why? CSKY only has smp_mb(), it doesn't override __atomic_acquire_fence or otherwise special cases it's atomic*_acquire() primitives. It has an explicit smp_mb() in its arch_spin_lock(). --- diff --git a/arch/csky/include/asm/spinlock.h b/arch/csky/include/asm/spinlock.h index 7cf3f2b34cea..22a05caf2d18 100644 --- a/arch/csky/include/asm/spinlock.h +++ b/arch/csky/include/asm/spinlock.h @@ -88,9 +88,6 @@ static inline int arch_spin_is_contended(arch_spinlock_t *lock) #include <asm/qrwlock.h> -/* See include/linux/spinlock.h */ -#define smp_mb__after_spinlock() smp_mb() - #else /* CONFIG_QUEUED_RWLOCKS */ /*