[cpp-threads] modes, pass 2
Doug Lea
dl at cs.oswego.edu
Mon May 9 11:55:06 BST 2005
Peter Dimov wrote:
> Doug Lea wrote:
>
>>Presumably you mean ...
>>
>>
>>>Now, with respect to PowerPC... The cookbook says that isync
>>>is a LoadLoad barrier. I don't think so.
>
>
> My understanding is that isync is hoist-load barrier in Alexander's terms
> because it cancels any speculative loads. After a branch it's an acquire
> because of the combination with the implied cchsb. I was wondering whether
> it's a #loadload as well; it could be technically possible for an earlier
> load to "sink" below a later load, even with an intervening isync. But the
> Load Hit Load rule seems to prevent that; it was the last remaining piece of
> the puzzle. :-) If isync is indeed a #loadload, the isync+eieio combination
> before RMW is a legitimate way to implement release as well.
>
>
Not that I consider it authoritative, but this is my
understanding as well.
-Doug
More information about the cpp-threads
mailing list