From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Paul E. McKenney" Subject: Re: [PATCH v2 0/9] Remove spin_unlock_wait() Date: Thu, 6 Jul 2017 09:24:12 -0700 Message-ID: <20170706162412.GE2393@linux.vnet.ibm.com> References: <20170629235918.GA6445@linux.vnet.ibm.com> <20170705232955.GA15992@linux.vnet.ibm.com> <063D6719AE5E284EB5DD2968C1650D6DD0033F01@AcuExch.aculab.com> <20170706152110.GZ2393@linux.vnet.ibm.com> <20170706161047.nse2s4gquljv5bni@hirez.programming.kicks-ass.net> Reply-To: paulmck@linux.vnet.ibm.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20170706161047.nse2s4gquljv5bni@hirez.programming.kicks-ass.net> Sender: linux-kernel-owner@vger.kernel.org To: Peter Zijlstra Cc: David Laight , "linux-kernel@vger.kernel.org" , "netfilter-devel@vger.kernel.org" , "netdev@vger.kernel.org" , "oleg@redhat.com" , "akpm@linux-foundation.org" , "mingo@redhat.com" , "dave@stgolabs.net" , "manfred@colorfullife.com" , "tj@kernel.org" , "arnd@arndb.de" , "linux-arch@vger.kernel.org" , "will.deacon@arm.com" , "stern@rowland.harvard.edu" , "parri.andrea@gmail.com" , "torvalds@linux-foundation.org" List-Id: linux-arch.vger.kernel.org On Thu, Jul 06, 2017 at 06:10:47PM +0200, Peter Zijlstra wrote: > On Thu, Jul 06, 2017 at 08:21:10AM -0700, Paul E. McKenney wrote: > > And yes, there are architecture-specific optimizations for an > > empty spin_lock()/spin_unlock() critical section, and the current > > arch_spin_unlock_wait() implementations show some of these optimizations. > > But I expect that performance benefits would need to be demonstrated at > > the system level. > > I do in fact contended there are any optimizations for the exact > lock+unlock semantics. You lost me on this one. > The current spin_unlock_wait() is weaker. Most notably it will not (with > exception of ARM64/PPC for other reasons) cause waits on other CPUs. Agreed, weaker semantics allow more optimizations. So use cases needing only the weaker semantics should more readily show performance benefits. But either way, we need compelling use cases, and I do not believe that any of the existing spin_unlock_wait() calls are compelling. Perhaps I am confused, but I am not seeing it for any of them. Thanx, Paul From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:42688 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752476AbdGFQYT (ORCPT ); Thu, 6 Jul 2017 12:24:19 -0400 Received: from pps.filterd (m0098394.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v66GNs7R137334 for ; Thu, 6 Jul 2017 12:24:19 -0400 Received: from e13.ny.us.ibm.com (e13.ny.us.ibm.com [129.33.205.203]) by mx0a-001b2d01.pphosted.com with ESMTP id 2bhqu7jdjm-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Thu, 06 Jul 2017 12:24:19 -0400 Received: from localhost by e13.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 6 Jul 2017 12:24:17 -0400 Date: Thu, 6 Jul 2017 09:24:12 -0700 From: "Paul E. McKenney" Subject: Re: [PATCH v2 0/9] Remove spin_unlock_wait() Reply-To: paulmck@linux.vnet.ibm.com References: <20170629235918.GA6445@linux.vnet.ibm.com> <20170705232955.GA15992@linux.vnet.ibm.com> <063D6719AE5E284EB5DD2968C1650D6DD0033F01@AcuExch.aculab.com> <20170706152110.GZ2393@linux.vnet.ibm.com> <20170706161047.nse2s4gquljv5bni@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170706161047.nse2s4gquljv5bni@hirez.programming.kicks-ass.net> Message-ID: <20170706162412.GE2393@linux.vnet.ibm.com> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Peter Zijlstra Cc: David Laight , "linux-kernel@vger.kernel.org" , "netfilter-devel@vger.kernel.org" , "netdev@vger.kernel.org" , "oleg@redhat.com" , "akpm@linux-foundation.org" , "mingo@redhat.com" , "dave@stgolabs.net" , "manfred@colorfullife.com" , "tj@kernel.org" , "arnd@arndb.de" , "linux-arch@vger.kernel.org" , "will.deacon@arm.com" , "stern@rowland.harvard.edu" , "parri.andrea@gmail.com" , "torvalds@linux-foundation.org" Message-ID: <20170706162412.e6JXf6LPT5DB0bwyzoYEDqslM8W_8LZfJGZWuH-ICac@z> On Thu, Jul 06, 2017 at 06:10:47PM +0200, Peter Zijlstra wrote: > On Thu, Jul 06, 2017 at 08:21:10AM -0700, Paul E. McKenney wrote: > > And yes, there are architecture-specific optimizations for an > > empty spin_lock()/spin_unlock() critical section, and the current > > arch_spin_unlock_wait() implementations show some of these optimizations. > > But I expect that performance benefits would need to be demonstrated at > > the system level. > > I do in fact contended there are any optimizations for the exact > lock+unlock semantics. You lost me on this one. > The current spin_unlock_wait() is weaker. Most notably it will not (with > exception of ARM64/PPC for other reasons) cause waits on other CPUs. Agreed, weaker semantics allow more optimizations. So use cases needing only the weaker semantics should more readily show performance benefits. But either way, we need compelling use cases, and I do not believe that any of the existing spin_unlock_wait() calls are compelling. Perhaps I am confused, but I am not seeing it for any of them. Thanx, Paul