RFR: 8324186: AARCH64: Use "dmb.ishst+dmb.ishld" for release barrier [v3]

Nick Gasson ngasson at openjdk.org
Wed Jan 24 13:51:32 UTC 2024


On Wed, 24 Jan 2024 13:36:54 GMT, kuaiwei <duke at openjdk.org> wrote:

>> 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
>
> kuaiwei has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add AlwaysMergeDMB option

src/hotspot/cpu/aarch64/globals_aarch64.hpp line 130:

> 128:   product(ccstr, UseBranchProtection, "none",                           \
> 129:           "Branch Protection to use: none, standard, pac-ret")          \
> 130:   product(bool, AlwaysMergeDMB, false,                                  \

It should really be a diagnostic option if we're going to have it configurable at all, as a product option needs a CSR and it's not something end users would want to fiddle with.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17511#discussion_r1464941090


More information about the hotspot-dev mailing list