[concurrency-interest] Double Checked Locking in OpenJDK

Vitaly Davidovich vitalyd at gmail.com
Thu Aug 16 19:40:14 EDT 2012


Store buffer writes are still part of cache coherency, they just don't
publish the value to L1 right away.  The point of the store buffer is that
if CPU 1 needs to write to cache line A but doesn't have the line in its L1
(let's not forget that a write has to do a load as well), it can drop the
write in the store buffer while cache controller fetches it - this is to
avoid a stall.  If line is already in L1 it can store directly to it (and
bypass store buffer), possibly causing invalidate requests to be sent out.

I guess my point is that the store buffer is still built on top of cache
coherence and not some random bit of independent functionality.  If we say
that we'd like to turn off cache coherence, it's going to be the wild wild
west :).  You can sort of do this today with non-temporal writes, but you
better know what you're doing at that point.

Sent from my phone
On Aug 16, 2012 5:55 PM, "Ruslan Cheremin" <cheremin at gmail.com> wrote:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20120816/c23faca6/attachment.html>


More information about the Concurrency-interest mailing list