RFR: AArch64: 8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent

Stuart Monteith stuart.monteith at linaro.org
Thu May 11 15:34:13 UTC 2017


Hi,
   It looks fine as far as I can tell. Could the comment be explicit
about replacing the code sequence:

STLR
LDR
DMB

with:
  STLR
  DMB
  LDR

as initially, I was thinking about them being on different threads.
(although, looking at the thread, it was probably just me that thought
that).

BR,
   Stuart


On 11 May 2017 at 13:31, Andrew Haley <aph at redhat.com> wrote:
> Thanks for finding that bug.  It's a reminder that we need to
> concentrate on doing the minimum at this stage to ensure correctness.
> Our performance is good, and this change is not hugely profitable.  It's
> not worth risking the whole ship for.
>
> Nevertheless, I've made a new webrev, which does the right thing.  I
> stepped through the code to make sure.  I've come this far, so I might
> as well get it right.  (Yes, I'm aware that I just fell into the sunk
> cost fallacy, but I want something to show for the work I've done.)
>
> http://cr.openjdk.java.net/~aph/8179954-3/
>
> In JDK 10 we should look at replacing all the explicit fences used for
> volatiles with LDAR/STLR.
>
> OK?  I'd like two reviewers for this one.
>
> Andrew.


More information about the hotspot-dev mailing list