Thread (154 messages) 154 messages, 13 authors, 2016-04-14

Re: [v3,11/41] mips: reuse asm-generic/barrier.h

From: Peter Zijlstra <peterz@infradead.org>
Date: 2016-01-27 08:39:37
Also in: linux-arch, linux-arm-kernel, linux-mips, linux-sh, linux-um, linuxppc-dev, lkml, sparclinux

On Tue, Jan 26, 2016 at 12:13:39PM -0800, Paul E. McKenney wrote:
On Tue, Jan 26, 2016 at 11:19:27AM +0100, Peter Zijlstra wrote:
quoted
So isn't smp_mb__after_unlock_lock() exactly such a scenario? And would
not someone trying to implement RCsc locks using locally transitive
RELEASE/ACQUIRE operations need exactly this stuff?

That is, I am afraid we need to cover the mix of local and global
transitive operations at least in overview.
True, but we haven't gotten to locking yet.
The mythical smp_mb__after_release_acquire() then ;-)

(and yes, I know you're going to say we don't have that)
That said, I would argue
that smp_mb__after_unlock_lock() upgrades locks to transitive, and
thus would not be an exception to the "no combining transitive and
non-transitive steps in cycles" rule.
But But But ;-) It does that exactly by combining. I suspect this is
(partly) the source of your SC chains with one PC link example.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help