[cpp-threads] modes, pass 2
Doug Lea
dl at cs.oswego.edu
Wed May 11 16:19:36 BST 2005
>
> "consumer spins on the flag until it is reset" implies load-CRO->
> branch thing. Placing isync after that loop has the effect of
> load.acq for flag load in Itanic speak. Without that control
> dependency (note that it orders subsequent stores on its own even
> without isync), isync doesn't order anything at all since it
> doesn't prevent sinking (apart from op governing branching
> preceding isync): <quote source=BOOK2> The isync instruction may
> complete before storage accesses associated with instructions
> preceding the isync instruction have been performed."
>
> Now please tell me what I got wrong. ;-)
>
Thanks very much! I finally understand the source of the
apparently inconsistent answers I've gotten about this --
some people assume you already have a control dependency
and some don't. I changed this accordingly on cookbook page.
-Doug
More information about the cpp-threads
mailing list