Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2007-11-09 06:52:31


Peter Dimov wrote:

> Markus Schöpflin:
>
>> Peter,
>>
>> I have read your paper referenced above and a few of the other papers
>> dealing with atomic ops, but I failed to find a clear definition of what
>> 'acquire' and 'release' semantics are supposed to mean. Could you point
>> me into the right direction, please? Also, in your paper you're
>> referring to [intro.concur], where could I find this?
>
> I think that the relevant paper at the moment is
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2334.htm
>
> Basically, if a thread A load-acquires a memory location that has been
> store-released by thread B, then after the load thread A is guaranteed to
> see the updates that thread B has done prior to the store.

Peter, I have been reading your paper again and I'm puzzled by the
following sentence (section 'Fences'): "Release, ensures that all preceding
operations in program order are performed after all subsequent stores in
program order;".

Shouldn't that read that all preceding operations are performed _before_
all subsequent stores, instead of after?

Markus


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk