[cpp-threads] modes, pass 2

Alexander Terekhov alexander.terekhov at gmail.com
Mon May 9 11:02:37 BST 2005


On 5/8/05, Doug Lea <dl at cs.oswego.edu> wrote:
[...]
> The "ordered" suffix needs a better name, but the intent
> is that it is the lightest barrier (often no-op) that
> prevents re-orderings of successive loads (for get_ordered)
> or stores (for set_ordered) or operations on the same
> variable (for CAS_ordered).

I think it's implied on all existing hardware. E.g. see Load Hit 
Store/Store Hit Load/Load Hit Load stuff here:

http://www-1.ibm.com/servers/eserver/pseries/hardware/whitepapers/power4_3.html
(Load/Store Unit Operation)

And as for C/C++, IIRC the standards already say that an object is 
required to retain its last-stored value, oder? 

I don't see the need for that "lightest ordered" stuff. I maybe 
missing or misunderstanding something of course.

> Alexander and Peter, especially. Can you live with something like this?

I don't like it. I'd get rid of "ordered" and add finer grained 
sink and hoist stuff. As for dd and cc... okay, let's mandate 
cchsb for all loads, but keep the rest.

regards,
alexander.




More information about the cpp-threads mailing list