On Wed, Jun 15, 2016 at 11:27:24AM -0700, Davidlohr Bueso wrote: > On Wed, 15 Jun 2016, Peter Zijlstra wrote: > > >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.