> It strikes me that the H/W designers have played a bit "fast and
> loose" with
> the cache consistency issue here

        For the vast majority of cases, this is a pure speed boost. For the tiny
number of cases where it causes a problem, you use mutexes.

> - I believe I understand the C/C++
> optimisation issues, and these CAN be worked around (IMHO) within
> the rules
> of the standard by using bool in some cases.

        If you mean 'volatile', no, that doesn't do anything. Specifically,
'volatile' has no special semantics for multi-processors. There may be
specific compilers where it has such semantics, but the standard doesn't
provide them.

        This is a frequently-spread bit of misinformation, largely due to 
specific
cases wher 'volatile' has been made to have such semantics by magic that's
not clearly visible in the cases. If the C standard really prohibited a
compiler from re-ordering writes to volatile variables, it would likewise
prohibit the cache from doing so. Do you know of any C implementations that
make writes to volatile variables bypass write-back caches?

> However I've notified our dev folks to remove the few cases where
> we've used
> this technique as it is certainly dangerous.

        Thanks.

        DS


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to