On Mon, Nov 25, 2013 at 07:27:15PM +0100, Peter Zijlstra wrote: > On Mon, Nov 25, 2013 at 10:02:50AM -0800, Paul E. McKenney wrote: > > And if the two locks are different, then the guarantee applies only > > when the unlock and lock are on the same CPU, in which case, as Linus > > noted, the xchg() on entry to the slow path does the job for use. > > But in that case we rely on the fact that the thing is part of a > composite and we should no longer call it load_acquire, because frankly > it doesn't have acquire semantics anymore because the read can escape > out. Actually, load-acquire and store-release are only required to provide ordering in the threads/CPUs doing the load-acquire/store-release operations. It is just that we require something stronger than minimal load-acquire/store-release to make a Linux-kernel lock. Thanx, Paul -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>