Thread (44 messages) 44 messages, 5 authors, 2016-06-20

Re: [RFC PATCH-tip v2 1/6] locking/osq: Make lock/unlock proper acquire/release barrier

From: Peter Zijlstra <peterz@infradead.org>
Date: 2016-06-15 18:40:27
Also in: linux-alpha, linux-s390, lkml

On Wed, Jun 15, 2016 at 11:27:24AM -0700, Davidlohr Bueso wrote:
On Wed, 15 Jun 2016, Peter Zijlstra wrote:
quoted
In any case, its fairly simple to cure, just add
smp_acquire__after_ctrl_dep() at the end. If we bail because
need_resched() we don't need the acquire I think.
I was just considering this for your smp_cond_acquire/smp_cond_load_acquire
Right, so that need_resched break makes that a bit awkward. Not to
mention the cpu_relaxed() vs cpu_relaxed_lowlatency() difference.
rework, so yeah I guess an smp_acquire__after_ctrl_dep would be a nice
compromise.

However, I was always under the impression that races with node->locked were
rather harmless (as indicated in the mentioned commit) -- which is why ->locked
are simple load/stores, with the exception of the unqueueing -- but yeah, that's
not even paired.
Yeah, see a few patches further in this series, where he guards a
variables with the osq_lock.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help