[concurrency-interest] RFR: 8065804: JEP 171: Clarifications/corrections for fence intrinsics

Andrew Haley aph at redhat.com
Thu Dec 11 10:36:27 EST 2014

On 12/11/2014 02:54 PM, Stephan Diestelhorst wrote:
> You pretty much swapped DMBs and MFENCEs ;)  So MFENCEs are local, in
> that they need to drain the write-buffer before allowing a later load
> access to the data.  DMBs, on the other hand, at least conceptually need
> to make sure that stores from other cores have become visible everywhere
> when the local core has seen them before the DMB.

Excuse me?  Now I'm even more confused.

If this core has seen a store from another core, then a DMB on this
core makes that store visible to all other cores, even if the store
had no memory fence?

So the simple act of reading a memory location and then doing a DMB
causes a previous store to that memory location to become visible
to all cores.


More information about the Concurrency-interest mailing list