Messages in this thread | | | From | Dmitry Vyukov <> | Date | Wed, 4 Nov 2015 17:09:24 +0100 | Subject | Re: [GIT PULL] locking changes for v4.4 |
| |
On Wed, Nov 4, 2015 at 5:01 PM, Peter Zijlstra <peterz@infradead.org> wrote: > On Wed, Nov 04, 2015 at 03:51:01PM +0100, Dmitry Vyukov wrote: >> To clarify, yes, documentation and tooling was my main motivation. > > Right; I don't object to having _ctrl() methods purely for documentation > purposes, I keep finding places we rely on them. Having them stand out > better might be useful. > >> It is usually helpful to see acquire/release, rmb/wmb pairs, and so it >> is useful to know that something below is ordered wrt this load by >> means of a control dependency (which effectively becomes an acquire, >> and there must be a pairing release somewhere). > > You need at least a trailing smp_rmb() before you cover the ACQUIRE > semantics -- or have no trailing reads at all of course.
Yes, I know, but is the best we can do. Episodic false negatives are OK, while false positives are unacceptable. So we considered READ_ONCE_CTRL as acquire.
| |