Dave Detlefs discovered that atomic::membar is not implemented
on Solaris or Linux, making, among other things, monitor entry
problematic, since an updated lock header isn't guaranteed to
be flushed to coherent memory before it's read by another processor.
Intermittent oddities can result that are more-or-less unreproducible
and have no obvious cause.
There's no test case at the moment, though there are plenty of
unexplained hangs.
on Solaris or Linux, making, among other things, monitor entry
problematic, since an updated lock header isn't guaranteed to
be flushed to coherent memory before it's read by another processor.
Intermittent oddities can result that are more-or-less unreproducible
and have no obvious cause.
There's no test case at the moment, though there are plenty of
unexplained hangs.