From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751621AbbJTDtM (ORCPT ); Mon, 19 Oct 2015 23:49:12 -0400 Received: from mail-io0-f170.google.com ([209.85.223.170]:33369 "EHLO mail-io0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750997AbbJTDtL (ORCPT ); Mon, 19 Oct 2015 23:49:11 -0400 Date: Tue, 20 Oct 2015 11:48:49 +0800 From: Boqun Feng To: Davidlohr Bueso Cc: Waiman Long , Peter Zijlstra , Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , x86@kernel.org, linux-kernel@vger.kernel.org, Scott J Norton , Douglas Hatch Subject: Re: [PATCH tip/locking/core v8 1/5] locking/qspinlock: Use _acquire/_release versions of cmpxchg & xchg Message-ID: <20151020034849.GA17714@fixme-laptop.cn.ibm.com> References: <1444949467-34807-1-git-send-email-Waiman.Long@hpe.com> <1444949467-34807-2-git-send-email-Waiman.Long@hpe.com> <20151020031714.GA935@fixme-laptop.cn.ibm.com> <20151020034602.GC27292@linux-uzut.site> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="UlVJffcvxoiEqYs2" Content-Disposition: inline In-Reply-To: <20151020034602.GC27292@linux-uzut.site> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --UlVJffcvxoiEqYs2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 19, 2015 at 08:46:02PM -0700, Davidlohr Bueso wrote: > On Tue, 20 Oct 2015, Boqun Feng wrote: >=20 > >>@@ -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? >=20 > atomic_sub() does not imply barriers, so there's no relaxed variants; tha= t's > only for _return() (and such) to the caller. >=20 Ah.. my mistake ;-( Thank you. Regards, Boqun > Thanks, > Davidlohr --UlVJffcvxoiEqYs2 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAABCAAGBQJWJbmeAAoJEEl56MO1B/q4kVIH/1QTcoC35UhqdZ+86wXBfKTi 3FFC5jzxdXJ4lMpynN+3F8BKBmNAhT4TPTUtsWdf8VpAF01tOFGZWQss4CiSMTVy cHjFwfAR05fpXU5ycjzd3f+RxLNxc2tmzb9CB9gGiEl5NXNX/y1GsK7D7pzux16d i9bo3pHJyLs5Ldgv513ixfli8opzwjzC2itaI+Zs4/VuxVtKZpu5kGqrOwAQU9XR Qb/9Ep8sSbQKA9AA/tfihlvao/zAYN9nZ4W0j8mA1lz/RdZJSCO7NduIsPlCRtFF mu0Z2Ra/anSMoQGvPF2b4C3ll5fmvb6v7id8jwimCeGpVqXjKrzOKu0cMpVaJvM= =8Emf -----END PGP SIGNATURE----- --UlVJffcvxoiEqYs2--