<p dir="ltr">Why were you concerned with lock instructions specifically? At one point in the past, volatile writes were done using mfence, IIRC.</p>
<p dir="ltr">sent from my phone</p>
<div class="gmail_quote">On Mar 16, 2015 3:28 PM, "Marko Topolnik" <<a href="mailto:marko@hazelcast.com">marko@hazelcast.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Andrew,<div><br></div><div>thank you for the reference, this answers the dilemma in full. I didn't know this guarantee existed on x86.</div><div><br></div><div>---</div><div>Marko</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 16, 2015 at 7:44 PM, Andrew Haley <span dir="ltr"><<a href="mailto:aph@redhat.com" target="_blank">aph@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 03/16/2015 05:00 PM, Marko Topolnik wrote:<br>
<br>
> Given that, since Nehalem, cores communicate point-to-point over QPI<br>
> and don't lock the global front-side bus, the CPU doesn't naturally<br>
> offer a total ordering of all lock operations.<br>
<br>
</span>Intel do actually guarantee<br>
<br>
    Locked instructions have a total order.<br>
<br>
so this is a hardware problem, not a software one.  How exactly the<br>
hardware people do this on a large network of processors is some of<br>
the most Secret Sauce, but I can imagine some kind of combining<br>
network in hardware.<br>
<br>
Andrew.<br>
<br>
[1]  Intel® 64 and IA-32 Architectures Software Developer’s Manual<br>
Volume 3 (3A, 3B & 3C): System Programming Guide 8.2.2, Memory<br>
Ordering in P6 and More Recent Processor Families<br>
</blockquote></div><br></div>
<br>_______________________________________________<br>
Concurrency-interest mailing list<br>
<a href="mailto:Concurrency-interest@cs.oswego.edu">Concurrency-interest@cs.oswego.edu</a><br>
<a href="http://cs.oswego.edu/mailman/listinfo/concurrency-interest" target="_blank">http://cs.oswego.edu/mailman/listinfo/concurrency-interest</a><br>
<br></blockquote></div>