RFR: 8261492: Shenandoah: reconsider forwardee accesses memory ordering [v8]

Xiaowei Lu github.com+39413832+weixlu at openjdk.java.net
Tue Sep 7 06:20:39 UTC 2021


On Tue, 31 Aug 2021 13:24:37 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Add TODO
>
> More work: leave `acquire`-in-lieu-of-`consume` in, and special case the heap update paths to dodge the performance penalty of doing so. Seems to work on x86_64 and AArch64.

@shipilev Hi, I have tested this pull request as well as this pull request + `OrderAccess::release();` on specjbb 2015 on AArch64 (Kunpeng 920). Maybe there is a slight improvement on critical-jOPS? Here is the result.

numactl --cpubind=1 --membind=1 ${build}/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx100g  -Xms75g -Xlog:gc*:gclog_${build}_${i} -jar specjbb2015.jar -m COMPOSITE

base_1:RUN RESULT: hbIR (max attempted) = 34282, hbIR (settled) = 32419, max-jOPS = 28797, critical-jOPS = 21801
base_2:RUN RESULT: hbIR (max attempted) = 34282, hbIR (settled) = 32419, max-jOPS = 30168, critical-jOPS = 21513
base_3:RUN RESULT: hbIR (max attempted) = 41119, hbIR (settled) = 34282, max-jOPS = 28783, critical-jOPS = 21516
OrderAccess_release_1:RUN RESULT: hbIR (max attempted) = 34282, hbIR (settled) = 32419, max-jOPS = 29483, critical-jOPS = 21979
OrderAccess_release_2:RUN RESULT: hbIR (max attempted) = 34282, hbIR (settled) = 32419, max-jOPS = 29483, critical-jOPS = 22096
OrderAccess_release_3:RUN RESULT: hbIR (max attempted) = 41119, hbIR (settled) = 34282, max-jOPS = 30017, critical-jOPS = 22929

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

PR: https://git.openjdk.java.net/jdk/pull/2496


More information about the shenandoah-dev mailing list