[aarch64-port-dev ] DMB elimination in C2 synchronization implementation

Andrew Haley aph at redhat.com
Wed Sep 2 08:49:56 UTC 2015


On 09/01/2015 04:06 PM, Wei Tang wrote:

>   We investigated aarch64 C2 synchronization implementation recently, and
> found some space to improve, please take a look.
> 
> The attached is patch and some supporting figures.

This may be OK, but we have been here before.  We used to have empty
barriers before and after lock operations and do everything internally
with ldaxr/stlxr but I reversed that because of correctness concerns:

http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-May/001096.html

Unfortunately I did not explain my reasoning in the email, and I
cannot now remember.  It may have been to do with the question of
whether CAS needs to be a full barrier if the store fails: it's always
been hard to discover the assumptions made about memory operations by
programmers.

I'm tempted to accept this patch.

Andrew.



More information about the aarch64-port-dev mailing list