[concurrency-interest] Enforcing total sync order on modern hardware

Alexander Terekhov TEREKHOV at de.ibm.com
Tue Mar 24 09:26:49 EDT 2015


"no local reordering" (load-load barrier or .acq or even more
precise .hoist-load-barrier*** label for loads) was implied.

***) means unidirectional .acq barrier not affecting subsequent stores -
think of a read-write lock in read-only mode (with read-dependent writes
ordered by dependencies just like on all existing archs AFAIK).

Marko Topolnik <marko at hazelcast.com> on 24.03.2015 14:02:03

To:	Alexander Terekhov/Germany/IBM at IBMDE
cc:	Oleksandr Otenko <oleksandr.otenko at oracle.com>, concurrency-interest
       <Concurrency-interest at cs.oswego.edu>
Subject:	Re: [concurrency-interest] Enforcing total sync order on modern
       hardware


On Tue, Mar 24, 2015 at 1:54 PM, Alexander Terekhov <TEREKHOV at de.ibm.com>
wrote:
      http://lists.boost.org/Archives/boost/2011/08/185134.php

      A == 1 && B == 0 && C == 1 && D == 0 is possible without remote
      write
      atomicity.

It is also possible if (A = X; B = Y;) can be reordered into (B = Y; A =
X;), even if the writes were in order. That's what Oleksandr was getting
at, I believe.

---
Marko




More information about the Concurrency-interest mailing list