RFR: 8331117: [PPC64] secondary_super_cache does not scale well [v3]

Martin Doerr mdoerr at openjdk.org
Tue May 28 14:59:14 UTC 2024


> PPC64 implementation of [JDK-8180450](https://bugs.openjdk.org/browse/JDK-8180450). Please review!
> I noticed that `r_array_length` is sometimes 0 and I don't see code for that on x86. Any idea?
> How can we verify it? By comparing the performance using the micro benchmarks?
> 
> Micro benchmark results without patch (measured on Power10 with 2*8 hardware threads):
> 
> Original 
> SecondarySuperCacheHits: 13.033 ±(99.9%) 0.058 ns/op [Average]
> SecondarySuperCacheInterContention.test     avgt   15  432.366 ±  8.364  ns/op
> SecondarySuperCacheInterContention.test:t1  avgt   15  432.310 ±  8.460  ns/op
> SecondarySuperCacheInterContention.test:t2  avgt   15  432.422 ± 10.819  ns/op
> SecondarySuperCacheIntraContention.test  avgt   15  355.192 ± 3.597  ns/op
> SecondarySupersLookup.testNegative00  avgt   15  12.274 ± 0.026  ns/op
> SecondarySupersLookup.testNegative01  avgt   15  12.300 ± 0.039  ns/op
> SecondarySupersLookup.testNegative02  avgt   15  12.304 ± 0.034  ns/op
> SecondarySupersLookup.testNegative03  avgt   15  12.276 ± 0.050  ns/op
> SecondarySupersLookup.testNegative04  avgt   15  12.235 ± 0.044  ns/op
> SecondarySupersLookup.testNegative05  avgt   15  12.308 ± 0.156  ns/op
> SecondarySupersLookup.testNegative06  avgt   15  12.291 ± 0.048  ns/op
> SecondarySupersLookup.testNegative07  avgt   15  12.307 ± 0.052  ns/op
> SecondarySupersLookup.testNegative08  avgt   15  12.398 ± 0.075  ns/op
> SecondarySupersLookup.testNegative09  avgt   15  12.552 ± 0.122  ns/op
> SecondarySupersLookup.testNegative10  avgt   15  12.490 ± 0.083  ns/op
> SecondarySupersLookup.testNegative16  avgt   15  12.565 ± 0.092  ns/op
> SecondarySupersLookup.testNegative20  avgt   15  19.059 ± 0.958  ns/op
> SecondarySupersLookup.testNegative30  avgt   15  19.268 ± 0.124  ns/op
> SecondarySupersLookup.testNegative32  avgt   15  20.059 ± 0.114  ns/op
> SecondarySupersLookup.testNegative40  avgt   15  25.117 ± 0.368  ns/op
> SecondarySupersLookup.testNegative50  avgt   15  32.735 ± 0.359  ns/op
> SecondarySupersLookup.testNegative55  avgt   15  34.866 ± 0.152  ns/op
> SecondarySupersLookup.testNegative56  avgt   15  35.492 ± 0.276  ns/op
> SecondarySupersLookup.testNegative57  avgt   15  36.620 ± 0.334  ns/op
> SecondarySupersLookup.testNegative58  avgt   15  37.226 ± 0.180  ns/op
> SecondarySupersLookup.testNegative59  avgt   15  37.774 ± 0.241  ns/op
> SecondarySupersLookup.testNegative60  avgt   15  38.627 ± 1.451  ns/op
> SecondarySupersLookup.testNegative61  avgt   15  39.395 ± 0.249  ns/op
> SecondarySupersLookup.testNegative62  avgt   15  ...

Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:

  Adapt assertion. We sometimes have only 1 element in the secondary supers array.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19368/files
  - new: https://git.openjdk.org/jdk/pull/19368/files/6753375e..c1840719

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19368&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19368&range=01-02

  Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/19368.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19368/head:pull/19368

PR: https://git.openjdk.org/jdk/pull/19368


More information about the hotspot-compiler-dev mailing list