RFR: 8273127: Shenandoah: Adopt relaxed order for update oop
Aleksey Shipilev
shade at openjdk.java.net
Thu Sep 2 16:40:21 UTC 2021
On Thu, 2 Sep 2021 03:36:05 GMT, Xiaowei Lu <github.com+39413832+weixlu at openjdk.org> wrote:
> It seems `OrderAccess::release` performs better than `acq_rel`.
Interesting result, thanks. I think that's because on current ARM 8.2 `acq_rel` is effectively `seq_cst`, which is stronger than `release`. ARM 8.3 introduces the RCpc atomics that are weaker, but we are not there yet. Anyhow, in #2496, I tried to do the acquire conditionally now, leaving only `release` CAS to hopefully avoid this pitfall.
I also think that PR now subsumes this one: it does conditionally relaxed heap updates, while leaving "release" for self-healing paths that might run concurrently during evacuation. Would you mind testing #2496 instead? Maybe also #2496 + `OrderAccess::release` variant to see if we even need it now performance-wise? If you agree, I would suggest closing this PR and moving the rest of the work under #2496.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5299
More information about the hotspot-gc-dev
mailing list