RFR: 8324186: AARCH64: Use "dmb.ishst+dmb.ishld" for release barrier
kuaiwei
duke at openjdk.org
Mon Jan 22 02:03:41 UTC 2024
Details is https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2024-January/071921.html.
Using a combined dmb.ish for release barrier will introduce a heavy storeload barrier. Use "dmb.ishst+dmb.ishld" pair instead, we can gain performance improvement on N1 and N2 architecture. The benchmark is test/micro/org/openjdk/bench/vm/compiler/FinalFieldInitialize.java
Run with ParallelGC to minimalize impact of gc barrier.
make test TEST="micro:org.openjdk.bench.vm.compiler.FinalFieldInitialize" MICRO="VM_OPTIONS=-XX:+UseParallelGC"
...
FinalFieldInitialize.testAllocWithFinal thrpt 9 1411.601 ? 6.546 ops/s
Without the patch
FinalFieldInitialize.testAllocWithFinal thrpt 9 1214.575 ? 14.217 ops/s
-------------
Commit messages:
- 8324186: AARCH64: Use "dmb.ishst+dmb.ishld" for release barrier
Changes: https://git.openjdk.org/jdk/pull/17511/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17511&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8324186
Stats: 102 lines in 3 files changed: 92 ins; 0 del; 10 mod
Patch: https://git.openjdk.org/jdk/pull/17511.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17511/head:pull/17511
PR: https://git.openjdk.org/jdk/pull/17511
More information about the hotspot-dev
mailing list