RFR: 8331126: [s390x] secondary_super_cache does not scale well [v15]

Andrew Haley aph at openjdk.org
Mon Jul 1 14:11:33 UTC 2024


On Mon, 1 Jul 2024 09:52:48 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>> s390x Port for [JDK-8180450](https://bugs.openjdk.org/browse/JDK-8180450)
>> 
>> I ran `tier1` test with  `-XX:+UseSecondarySupersTable -XX:+VerifySecondarySupers -XX:+StressSecondarySupers` in fastdebug vm and didn't see any new failure appearing; Except one I have mentioned [here](https://github.com/openjdk/jdk/pull/19368#issuecomment-2154983693); But this is reproducible on every other architecture with these flags. 
>> 
>> 
>> Without Patch: 
>> 
>> SecondarySuperCacheHits.test  avgt   15  0.929 ± 0.010  ns/op
>> 
>> SecondarySuperCacheInterContention.test     avgt   15  1.413 ± 0.007  ns/op
>> SecondarySuperCacheInterContention.test:t1  avgt   15  1.415 ± 0.016  ns/op
>> SecondarySuperCacheInterContention.test:t2  avgt   15  1.410 ± 0.017  ns/op
>> 
>> Benchmark                             Mode  Cnt   Score   Error  Units
>> SecondarySupersLookup.testNegative00  avgt   15   1.806 ± 0.325  ns/op
>> SecondarySupersLookup.testNegative01  avgt   15   2.364 ± 0.236  ns/op
>> SecondarySupersLookup.testNegative02  avgt   15   2.903 ± 0.215  ns/op
>> SecondarySupersLookup.testNegative03  avgt   15   3.417 ± 0.199  ns/op
>> SecondarySupersLookup.testNegative04  avgt   15   3.758 ± 0.102  ns/op
>> SecondarySupersLookup.testNegative05  avgt   15   4.352 ± 0.123  ns/op
>> SecondarySupersLookup.testNegative06  avgt   15   4.800 ± 0.099  ns/op
>> SecondarySupersLookup.testNegative07  avgt   15   5.365 ± 0.060  ns/op
>> SecondarySupersLookup.testNegative08  avgt   15   6.316 ± 0.092  ns/op
>> SecondarySupersLookup.testNegative09  avgt   15   6.669 ± 0.164  ns/op
>> SecondarySupersLookup.testNegative10  avgt   15   7.041 ± 0.164  ns/op
>> SecondarySupersLookup.testNegative16  avgt   15   9.336 ± 0.185  ns/op
>> SecondarySupersLookup.testNegative20  avgt   15  11.373 ± 0.029  ns/op
>> SecondarySupersLookup.testNegative30  avgt   15  15.236 ± 0.051  ns/op
>> SecondarySupersLookup.testNegative32  avgt   15  16.031 ± 0.091  ns/op
>> SecondarySupersLookup.testNegative40  avgt   15  19.197 ± 0.279  ns/op
>> SecondarySupersLookup.testNegative50  avgt   15  23.804 ± 2.387  ns/op
>> SecondarySupersLookup.testNegative55  avgt   15  25.610 ± 1.155  ns/op
>> SecondarySupersLookup.testNegative56  avgt   15  26.128 ± 2.203  ns/op
>> SecondarySupersLookup.testNegative57  avgt   15  26.126 ± 0.881  ns/op
>> SecondarySupersLookup.testNegative58  avgt   15  26.314 ± 0.521  ns/op
>> SecondarySupersLookup.testNegative59  avgt   15  26.750 ± 0.837  ns/op
>> SecondarySupersLookup.testNegative60  avgt   15  27.118 ± 0.557 ...
>
> Amit Kumar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   updates comment

src/hotspot/cpu/s390/macroAssembler_s390.cpp line 3177:

> 3175: 
> 3176:   // z_brct above doesn't change CC.
> 3177:   // If the search operation is unsuccessful, then it's a failure case.

Suggestion:

  // If we reach here, then the value in r_value is not present. Set r_result to 1.

"Failure" is not a good word to use here, because it's unclear what failed.

src/hotspot/cpu/s390/macroAssembler_s390.cpp line 3362:

> 3360:     z_bre(L_done); // success
> 3361: 
> 3362:     // look-ahead check (Bit 2), if bit-2 is also 0, we're done

Suggestion:

    // look-ahead check: if Bit 2 is 0, we're done

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19544#discussion_r1661115340
PR Review Comment: https://git.openjdk.org/jdk/pull/19544#discussion_r1661108285


More information about the hotspot-dev mailing list