[concurrency-interest] x86 NOOP memory barriers

Nitsan Wakart nitsanw at yahoo.com
Tue Aug 6 04:38:04 EDT 2013


Summarized in this blog post here:
http://psy-lob-saw.blogspot.com/2013/08/memory-barriers-are-not-free.html

Please point out any mistakes/omissions/oversight.
Thanks for the help guys.


________________________________
 From: Michael Barker <mikeb01 at gmail.com>
To: Nitsan Wakart <nitsanw at yahoo.com> 
Cc: Vitaly Davidovich <vitalyd at gmail.com>; "concurrency-interest at cs.oswego.edu" <concurrency-interest at cs.oswego.edu> 
Sent: Saturday, August 3, 2013 12:33 AM
Subject: Re: [concurrency-interest] x86 NOOP memory barriers
 

> So because a putOrdered is a write to memory it cannot be reordered with
> other writes, as per "8.2.3.2 Neither Loads Nor Stores Are Reordered with
> Like Operations".

Yes in combination with the compiler reordering restrictions.  In
Hotspot this is implemented within the
LibraryCall::inline_unsafe_ordered_store (library_call.cpp) call.
Look for:

insert_mem_bar(Op_MemBarRelease);
insert_mem_bar(Op_MemBarCPUOrder);

Mike.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20130806/d8e8caf3/attachment.html>


More information about the Concurrency-interest mailing list