lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 6 Jul 2017 18:54:26 +0200 From: Peter Zijlstra <peterz@...radead.org> To: Alan Stern <stern@...land.harvard.edu> Cc: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>, David Laight <David.Laight@...LAB.COM>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "netfilter-devel@...r.kernel.org" <netfilter-devel@...r.kernel.org>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "oleg@...hat.com" <oleg@...hat.com>, "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>, "mingo@...hat.com" <mingo@...hat.com>, "dave@...olabs.net" <dave@...olabs.net>, "manfred@...orfullife.com" <manfred@...orfullife.com>, "tj@...nel.org" <tj@...nel.org>, "arnd@...db.de" <arnd@...db.de>, "linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>, "will.deacon@....com" <will.deacon@....com>, "parri.andrea@...il.com" <parri.andrea@...il.com>, "torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org> Subject: Re: [PATCH v2 0/9] Remove spin_unlock_wait() On Thu, Jul 06, 2017 at 12:49:12PM -0400, Alan Stern wrote: > On Thu, 6 Jul 2017, Paul E. McKenney wrote: > > > 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. > > If somebody really wants the full spin_unlock_wait semantics and > doesn't want to interfere with other CPUs, wouldn't synchronize_sched() > or something similar do the job? It wouldn't be as efficient as > lock+unlock, but it also wouldn't affect other CPUs. So please don't do that. That'll create massive pain for RT. Also I don't think it works. The whole point was that spin_unlock_wait() is _cheaper_ than lock()+unlock(). If it gets to be more expensive there is absolutely no point in using it.
Powered by blists - more mailing lists