Messages in this thread | | | Date | Fri, 10 Sep 2021 19:17:43 +0200 | From | Peter Zijlstra <> | Subject | Re: [tip:locking/core] tools/memory-model: Add extra ordering for locks and remove it for ordinary release/acquire |
| |
On Fri, Sep 10, 2021 at 12:36:32PM -0400, Alan Stern wrote: > --- usb-devel.orig/tools/memory-model/Documentation/explanation.txt > +++ usb-devel/tools/memory-model/Documentation/explanation.txt > @@ -1813,15 +1813,16 @@ spin_trylock() -- we can call these thin > lock-acquires -- have two properties beyond those of ordinary releases > and acquires. > > +First, when a lock-acquire reads from or is po-after a lock-release, > +the LKMM requires that every instruction po-before the lock-release > +must execute before any instruction po-after the lock-acquire. This > +would naturally hold if the release and acquire operations were on > +different CPUs and accessed the same lock variable, but the LKMM says > +it also holds when they are on the same CPU, even if they access > +different lock variables. For example:
Could be I don't understand this right, but the way I'm reading it, it seems to imply RCsc. Which I don't think we're actually asking at this time.
| |