On Mon, Oct 19, 2015 at 08:46:02PM -0700, Davidlohr Bueso wrote: > On Tue, 20 Oct 2015, Boqun Feng wrote: > > >>@@ -93,7 +94,7 @@ static __always_inline void queued_spin_unlock(struct > >>qspinlock *lock) > >> /* > >> * smp_mb__before_atomic() in order to guarantee release semantics > >> */ > >>- smp_mb__before_atomic_dec(); > >>+ smp_mb__before_atomic(); > >> atomic_sub(_Q_LOCKED_VAL, &lock->val); > > > >Just be curious, you don't use atomic_sub_release() here on purpose? > > atomic_sub() does not imply barriers, so there's no relaxed variants; that's > only for _return() (and such) to the caller. >
Ah.. my mistake ;-( Thank you. Regards, Boqun > Thanks, > Davidlohr
signature.asc
Description: PGP signature