Il 18/06/2013 10:36, Paolo Bonzini ha scritto:
>     Important Note: Note that it is important for both threads to access
>     the same volatile variable in order to properly set up the happens-before
>     relationship. It is not the case that everything visible to thread A
>     when it writes volatile field f becomes visible to thread B after it
>     reads volatile field g. The release and acquire have to "match" (i.e.,
>     be performed on the same volatile field) to have the right semantics. 
> 
> Is this final "important note" the difference between ACQ_REL and SEQ_CST?

Based on what I read now, I think I want ACQ_REL for
atomic_mb_{read,set}.  One can still get SEQ_CST with atomic_xchg (for
sets) or atomic_add (adding 0, for reads).

Paolo

Reply via email to