Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936921AbdDSPMm (ORCPT ); Wed, 19 Apr 2017 11:12:42 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:54953 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S936872AbdDSPMf (ORCPT ); Wed, 19 Apr 2017 11:12:35 -0400 Date: Wed, 19 Apr 2017 08:09:33 -0700 From: "Paul E. McKenney" To: Michael Ellerman Cc: Peter Zijlstra , Boqun Feng , tglx@linutronix.de, bobby.prani@gmail.com, fweisbec@gmail.com, jiangshanlai@gmail.com, linux-kernel@vger.kernel.org, rostedt@goodmis.org, josh@joshtriplett.org, dhowells@redhat.com, edumazet@google.com, mathieu.desnoyers@efficios.com, oleg@redhat.com, dipankar@in.ibm.com, Will Deacon , Paul Mackerras , akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org, mingo@kernel.org Subject: Re: [PATCH tip/core/rcu 02/40] rcu: Make arch select smp_mb__after_unlock_lock() strength Reply-To: paulmck@linux.vnet.ibm.com References: <20170412174003.GA23207@linux.vnet.ibm.com> <1492018825-25634-2-git-send-email-paulmck@linux.vnet.ibm.com> <20170413092418.a2rudzukbgookior@hirez.programming.kicks-ass.net> <20170413162651.GD3956@linux.vnet.ibm.com> <20170413163757.wwhttkpm3v7emz33@hirez.programming.kicks-ass.net> <20170413170349.GK3956@linux.vnet.ibm.com> <87o9vs5xgx.fsf@concordia.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87o9vs5xgx.fsf@concordia.ellerman.id.au> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 17041915-0008-0000-0000-000001FB8AD1 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00006939; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000208; SDB=6.00849647; UDB=6.00419562; IPR=6.00628280; BA=6.00005304; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00015095; XFM=3.00000013; UTC=2017-04-19 15:12:31 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17041915-0009-0000-0000-000034C3E8BA Message-Id: <20170419150933.GM3956@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-19_13:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1704190128 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2302 Lines: 54 On Wed, Apr 19, 2017 at 11:38:22PM +1000, Michael Ellerman wrote: > "Paul E. McKenney" writes: > > > On Thu, Apr 13, 2017 at 06:37:57PM +0200, Peter Zijlstra wrote: > >> On Thu, Apr 13, 2017 at 09:26:51AM -0700, Paul E. McKenney wrote: > >> > >> > ARCH_WEAK_RELEASE_ACQUIRE actually works both ways. > >> > > >> > To see this, imagine some strange alternate universe in which the Power > >> > hardware guys actually did decide to switch PPC to doing RCsc as you > >> > suggest. There would still be a lot of Power hardware out there that > >> > still does RCpc. Therefore, powerpc builds that needed to run on old > >> > Power hardware would select ARCH_WEAK_RELEASE_ACQUIRE, while kernels > >> > built to run only on the shiny new (but mythical) alternate-universe > >> > Power hardware would avoid selecting this Kconfig option. > >> > >> Ah, but Power software guys could do it today by replacing an LWSYNC > >> with a SYNC in say arch_spin_unlock(). > >> > >> And yes, I know this isn't a popular suggestion, but it would do the > >> trick. > > > > Indeed, there is a fine line between motivating people to move to new > > hardware on the one hand and terminally annoying existing users on > > the other. ;-) > > > >> Its just that since there's one (PPC) we can sort of pressure them with > >> the pain of being the only ones to hit all the bugs. But the moment more > >> appear (and I'm afraid it'll be MIPS, with the excuse that PPC already > >> does this) it will be ever so much harder to get rid of it. > >> > >> Then again, maybe I should just give up and accept the Linux kernel has > >> RCpc locks.. > > > > As usual, I must defer to the powerpc maintainers on this one. > > I reworked my locking tests a bit, to run longer, disable ASLR and a few > other things, and ran them again. They just bang repeatedly on an > uncontended lock, so nothing fancy at all. > > Switching the release barrier to sync (from lwsync) slows it down by > about 18%. Ouch!!! > So I think that pretty much rules it out, at least on current CPUs. > > I'll try and get some more time to make sure I didn't do something > stupid in the test, and maybe do a version that includes some > contention. Looking forward to seeing what you come up with... Thanx, Paul