[aarch64-port-dev ] RFR: 8189596: AArch64: implementation for Thread-local handshakes

Andrew Dinn adinn at redhat.com
Fri Nov 24 12:07:01 UTC 2017


On 24/11/17 10:36, Erik Österlund wrote:
> By placing loading the local poll value with ldar *only* in the native
> wrapper wakeup function, you avoid these issues.
> Another approach you may elect to use is to only in the native wrapper
> load both the thread-local poll value and the
> SafepointSynchronize::_state, when filtering slow paths to avoid this
> unfortunate race.

I can see why an ldar (actually ldarw) is needed when safepoint_poll is
called from the nativewrapper. Can you explain why ldar is not needed
for *all* calls to safepoint_poll?

> I have a bunch of other ideas as well exploiting dependent loads, but
> thought maybe I should start the conversation and see what you think
> before running off too much

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the aarch64-port-dev mailing list