RFR: 8332587: RISC-V: secondary_super_cache does not scale well
Hamlin Li
mli at openjdk.org
Mon Jun 3 08:30:02 UTC 2024
On Tue, 21 May 2024 08:31:53 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:
> 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
> SecondarySupersLookup.testNegative59 avgt 15 131.858 ± 1.066 ns/op
> SecondarySupersLookup.testNegative60...
Hey, is there performance comparison data when zbb is not supported? Just want to make sure it can also get performance gain in that situation. Otherwise, maybe we should only enable it iff zbb is supported?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19320#issuecomment-2144591938
More information about the hotspot-dev
mailing list