JDK-8325178 : Regression in SPECjvm2008-MPEG after JDK-8319793
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 23
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: os_x
  • CPU: aarch64
  • Submitted: 2024-02-02
  • Updated: 2024-03-08
  • Resolved: 2024-03-08
Related Reports
Relates :  
Description
With the introduction of JDK-8319793... SPECjvm2008-MPEG is showing a small regression:

-1% SPECjvm2008-MPEG on macOS-aarch64

Regression was isolated to jdk-23+5-300 (which only contains JDK-8319793) - (Graph attached). 
The nightly CI measurements show the regression continues to hold - (Graph attached)
Comments
As we discussed in compiler staff, let's close this as Won't Fix.
08-03-2024

Not sure how JDK-8319793 would trigger additional ThreadWXEnable transitions but maybe it's some timing related side effect or something.
08-03-2024

If this only happens on macOS-aarch64, then maybe it can be explained by ThreadWXEnable overhead?
05-03-2024

[~roland] "I see one run is with ZGC but the bug description doesn't say anything about it: is the regression only with ZGC?" It's hard to say whether there's an impact when using the other GCs. Those can change performance behavior, and the impact can be reduced such that the statistics are unable to validate a potential regression. In the case of this benchmark with ZGC, the statistics provided a high confidence level and low confidence levels for the benchmark with the other GCs. As a result, only the ZGC variance was reported. Now that there are more builds under the bridge, We can see that a performance drop with the G1 variant for 23+6 (that statistics didn't highlight) has actually held into the subsequent builds. So there appears to be an impact there as well. I'll attach a graph for SPECjvm2008-MPEG-G1 showing this. As to whether this drop is worth fixing... I'll leave that decision to you and the compiler team.
14-02-2024

I had a look at this but can't reproduce it on the aarch64 system I have access to. I see one run is with ZGC but the bug description doesn't say anything about it: is the regression only with ZGC? I had a look at the compiled code for LayerIIIDecoder::dequantize_sample with and without the patch (one the hot methods but there are others). I see JDK-8319793 affects the compiled code but it doesn't seem to degrade it (it actually seems to improve it). I'm not sure where to go from here. I would need help to pin point what method causes the regression and then to try to figure out which part of the change is responsible. That seems tedious for a 1% performance drop. Or maybe someone else with access to a system where the regression can be reproduced would need to investigate this further.
09-02-2024

Since this occurred after JDK-8319793, do you want to take a look [~roland]?
05-02-2024

ILW = Small regression, single benchmark on macos aarch64 only, no known workaround = MLH = P4
05-02-2024