RFR: 8332587: RISC-V: secondary_super_cache does not scale well [v3]
Gui Cao
gcao at openjdk.org
Tue Jun 4 07:57:14 UTC 2024
On Tue, 4 Jun 2024 02:11:35 GMT, Gui Cao <gcao at openjdk.org> wrote:
>> Implementation of subtype checking [JDK-8180450](https://bugs.openjdk.org/browse/JDK-8180450) for linux-riscv64.
>> This optimization depends on availability of the Zbb extension which has the cpop instruction.
>>
>> ### Correctness testing:
>>
>> - [x] Run tier1-3, hotspot:tier4 tests on SOPHON SG2042 (release)
>> - [x] Run tier1-3 tests with -XX:+UseRVV on qemu 8.1.0 (fastdebug)
>> - [x] Run all of tier1 with `-XX:+VerifySecondarySupers`
>>
>> ### JMH tested on Banana Pi BPI-F3 board (has Zbb) and Enable UseZbb, Not Enable UseZba, UseZbs
>> Original:
>>
>> Benchmark Mode Cnt Score Error Units
>> SecondarySuperCacheHits.test avgt 15 11.375 ± 0.071 ns/op
>> SecondarySuperCacheInterContention.test avgt 15 646.087 ± 32.587 ns/op
>> SecondarySuperCacheInterContention.test:t1 avgt 15 600.090 ± 83.779 ns/op
>> SecondarySuperCacheInterContention.test:t2 avgt 15 692.084 ± 73.218 ns/op
>> SecondarySupersLookup.testNegative00 avgt 15 16.420 ± 0.239 ns/op
>> SecondarySupersLookup.testNegative01 avgt 15 18.307 ± 0.260 ns/op
>> SecondarySupersLookup.testNegative02 avgt 15 21.695 ± 0.458 ns/op
>> SecondarySupersLookup.testNegative03 avgt 15 24.855 ± 0.664 ns/op
>> SecondarySupersLookup.testNegative04 avgt 15 27.305 ± 0.522 ns/op
>> SecondarySupersLookup.testNegative05 avgt 15 29.719 ± 0.385 ns/op
>> SecondarySupersLookup.testNegative06 avgt 15 32.231 ± 0.498 ns/op
>> SecondarySupersLookup.testNegative07 avgt 15 33.747 ± 0.603 ns/op
>> SecondarySupersLookup.testNegative08 avgt 15 35.856 ± 0.629 ns/op
>> SecondarySupersLookup.testNegative09 avgt 15 37.077 ± 0.546 ns/op
>> SecondarySupersLookup.testNegative10 avgt 15 39.408 ± 0.465 ns/op
>> SecondarySupersLookup.testNegative16 avgt 15 51.041 ± 0.547 ns/op
>> SecondarySupersLookup.testNegative20 avgt 15 58.722 ± 0.922 ns/op
>> SecondarySupersLookup.testNegative30 avgt 15 77.310 ± 0.654 ns/op
>> SecondarySupersLookup.testNegative32 avgt 15 81.116 ± 0.854 ns/op
>> SecondarySupersLookup.testNegative40 avgt 15 96.311 ± 0.840 ns/op
>> SecondarySupersLookup.testNegative50 avgt 15 115.427 ± 0.838 ns/op
>> SecondarySupersLookup.testNegative55 avgt 15 124.371 ± 1.076 ns/op
>> SecondarySupersLookup.testNegative56 avgt 15 126.796 ± 0.916 ns/op
>> SecondarySupersLookup.testNegative57 avgt 15 127.952 ± 1.202 ns/op
>> SecondarySupersLookup.testNegative58 avgt 15 131.956 ± 4.515 ns/op
>> Seco...
>
> Gui Cao has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix Code format
JMH tested on Banana Pi BPI-F3 board (has Zba,Zbb,Zbs) and Enable UseZba, UseZbb, UseZbs
Original(not with patch):
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 16.405 ± 0.221 ns/op SecondarySupersLookup.testNegative01 avgt 15 18.276 ± 0.251 ns/op
SecondarySupersLookup.testNegative02 avgt 15 21.519 ± 0.314 ns/op
SecondarySupersLookup.testNegative03 avgt 15 24.434 ± 0.370 ns/op SecondarySupersLookup.testNegative04 avgt 15 27.246 ± 0.441 ns/op SecondarySupersLookup.testNegative05 avgt 15 29.652 ± 0.397 ns/op
SecondarySupersLookup.testNegative06 avgt 15 32.049 ± 0.533 ns/op
SecondarySupersLookup.testNegative07 avgt 15 33.568 ± 0.501 ns/op
SecondarySupersLookup.testNegative08 avgt 15 35.593 ± 0.606 ns/op
SecondarySupersLookup.testNegative09 avgt 15 37.220 ± 0.407 ns/op
SecondarySupersLookup.testNegative10 avgt 15 39.522 ± 0.511 ns/op
SecondarySupersLookup.testNegative16 avgt 15 51.146 ± 0.667 ns/op
SecondarySupersLookup.testNegative20 avgt 15 58.404 ± 0.654 ns/op
SecondarySupersLookup.testNegative30 avgt 15 77.190 ± 0.796 ns/op
SecondarySupersLookup.testNegative32 avgt 15 81.144 ± 0.761 ns/op
SecondarySupersLookup.testNegative40 avgt 15 96.018 ± 0.733 ns/op
SecondarySupersLookup.testNegative50 avgt 15 115.170 ± 0.876 ns/op
SecondarySupersLookup.testNegative55 avgt 15 125.827 ± 4.322 ns/op
SecondarySupersLookup.testNegative56 avgt 15 126.151 ± 0.979 ns/op
SecondarySupersLookup.testNegative57 avgt 15 129.638 ± 4.326 ns/op
SecondarySupersLookup.testNegative58 avgt 15 131.960 ± 4.584 ns/op
SecondarySupersLookup.testNegative59 avgt 15 131.403 ± 1.051 ns/op
SecondarySupersLookup.testNegative60 avgt 15 133.660 ± 0.888 ns/op
SecondarySupersLookup.testNegative61 avgt 15 137.293 ± 4.852 ns/op
SecondarySupersLookup.testNegative62 avgt 15 137.476 ± 1.081 ns/op
SecondarySupersLookup.testNegative63 avgt 15 139.028 ± 1.026 ns/op
SecondarySupersLookup.testNegative64 avgt 15 143.545 ± 5.011 ns/op
SecondarySupersLookup.testPositive01 avgt 15 10.734 ± 0.156 ns/op
SecondarySupersLookup.testPositive02 avgt 15 10.727 ± 0.145 ns/op
SecondarySupersLookup.testPositive03 avgt 15 10.729 ± 0.149 ns/op
SecondarySupersLookup.testPositive04 avgt 15 10.724 ± 0.140 ns/op
SecondarySupersLookup.testPositive05 avgt 15 10.730 ± 0.152 ns/op
SecondarySupersLookup.testPositive06 avgt 15 10.726 ± 0.143 ns/op
SecondarySupersLookup.testPositive07 avgt 15 10.731 ± 0.151 ns/op
SecondarySupersLookup.testPositive08 avgt 15 10.735 ± 0.158 ns/op
SecondarySupersLookup.testPositive09 avgt 15 10.731 ± 0.152 ns/op
SecondarySupersLookup.testPositive10 avgt 15 10.728 ± 0.147 ns/op
SecondarySupersLookup.testPositive16 avgt 15 10.732 ± 0.153 ns/op
SecondarySupersLookup.testPositive20 avgt 15 10.727 ± 0.145 ns/op
SecondarySupersLookup.testPositive30 avgt 15 10.749 ± 0.170 ns/op
SecondarySupersLookup.testPositive32 avgt 15 10.732 ± 0.153 ns/op
SecondarySupersLookup.testPositive40 avgt 15 10.732 ± 0.153 ns/op
SecondarySupersLookup.testPositive50 avgt 15 10.732 ± 0.153 ns/op
SecondarySupersLookup.testPositive60 avgt 15 10.733 ± 0.155 ns/op
SecondarySupersLookup.testPositive63 avgt 15 10.733 ± 0.153 ns/op
SecondarySupersLookup.testPositive64 avgt 15 10.735 ± 0.158 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
With patch:
Benchmark Mode Cnt Score Error Units
SecondarySupersLookup.testNegative00 avgt 15 13.270 ± 0.201 ns/op
SecondarySupersLookup.testNegative01 avgt 15 13.261 ± 0.194 ns/op
SecondarySupersLookup.testNegative02 avgt 15 13.265 ± 0.198 ns/op
SecondarySupersLookup.testNegative03 avgt 15 13.274 ± 0.222 ns/op
SecondarySupersLookup.testNegative04 avgt 15 13.262 ± 0.197 ns/op
SecondarySupersLookup.testNegative05 avgt 15 13.264 ± 0.200 ns/op
SecondarySupersLookup.testNegative06 avgt 15 13.259 ± 0.193 ns/op
SecondarySupersLookup.testNegative07 avgt 15 13.261 ± 0.196 ns/op
SecondarySupersLookup.testNegative08 avgt 15 13.255 ± 0.186 ns/op
SecondarySupersLookup.testNegative09 avgt 15 13.267 ± 0.200 ns/op
SecondarySupersLookup.testNegative10 avgt 15 13.265 ± 0.200 ns/op
SecondarySupersLookup.testNegative16 avgt 15 13.277 ± 0.220 ns/op
SecondarySupersLookup.testNegative20 avgt 15 13.270 ± 0.209 ns/op
SecondarySupersLookup.testNegative30 avgt 15 13.279 ± 0.223 ns/op
SecondarySupersLookup.testNegative32 avgt 15 13.284 ± 0.232 ns/op
SecondarySupersLookup.testNegative40 avgt 15 13.288 ± 0.237 ns/op
SecondarySupersLookup.testNegative50 avgt 15 13.290 ± 0.241 ns/op
SecondarySupersLookup.testNegative55 avgt 15 51.179 ± 0.761 ns/op
SecondarySupersLookup.testNegative56 avgt 15 51.175 ± 0.763 ns/op
SecondarySupersLookup.testNegative57 avgt 15 51.550 ± 1.070 ns/op
SecondarySupersLookup.testNegative58 avgt 15 51.182 ± 0.737 ns/op
SecondarySupersLookup.testNegative59 avgt 15 51.169 ± 0.773 ns/op
SecondarySupersLookup.testNegative60 avgt 15 74.605 ± 1.445 ns/op
SecondarySupersLookup.testNegative61 avgt 15 74.434 ± 1.006 ns/op
SecondarySupersLookup.testNegative62 avgt 15 74.587 ± 1.078 ns/op
SecondarySupersLookup.testNegative63 avgt 15 155.881 ± 0.856 ns/op
SecondarySupersLookup.testNegative64 avgt 15 158.028 ± 5.778 ns/op
SecondarySupersLookup.testPositive01 avgt 15 10.744 ± 0.176 ns/op
SecondarySupersLookup.testPositive02 avgt 15 10.731 ± 0.151 ns/op
SecondarySupersLookup.testPositive03 avgt 15 10.727 ± 0.146 ns/op
SecondarySupersLookup.testPositive04 avgt 15 10.732 ± 0.153 ns/op
SecondarySupersLookup.testPositive05 avgt 15 10.728 ± 0.147 ns/op
SecondarySupersLookup.testPositive06 avgt 15 10.731 ± 0.151 ns/op
SecondarySupersLookup.testPositive07 avgt 15 10.725 ± 0.143 ns/op
SecondarySupersLookup.testPositive08 avgt 15 10.730 ± 0.148 ns/op
SecondarySupersLookup.testPositive09 avgt 15 10.734 ± 0.156 ns/op
SecondarySupersLookup.testPositive10 avgt 15 10.726 ± 0.144 ns/op
SecondarySupersLookup.testPositive16 avgt 15 10.727 ± 0.146 ns/op
SecondarySupersLookup.testPositive20 avgt 15 10.731 ± 0.152 ns/op
SecondarySupersLookup.testPositive30 avgt 15 10.729 ± 0.150 ns/op
SecondarySupersLookup.testPositive32 avgt 15 10.728 ± 0.147 ns/op
SecondarySupersLookup.testPositive40 avgt 15 10.745 ± 0.181 ns/op
SecondarySupersLookup.testPositive50 avgt 15 10.732 ± 0.153 ns/op
SecondarySupersLookup.testPositive60 avgt 15 10.729 ± 0.148 ns/op
SecondarySupersLookup.testPositive63 avgt 15 10.734 ± 0.158 ns/op
SecondarySupersLookup.testPositive64 avgt 15 10.732 ± 0.154 ns/op
Finished running test 'micro:vm.lang.SecondarySupersLookup'
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19320#issuecomment-2146851987
More information about the hotspot-dev
mailing list