RFR: 8370947: Mitigate Neoverse-N1 erratum 1542419 negative impact on GCs and JIT performance [v28]

Evgeny Astigeevich eastigeevich at openjdk.org
Thu Feb 26 18:14:08 UTC 2026


On Thu, 26 Feb 2026 10:14:48 GMT, Andrew Haley <aph at openjdk.org> wrote:

> This improvement is almost in the noise. 

I don't think it is noise. I use `perf stat -e exc_trap_other`. It showed `exc_trap_other` reduced from 12 million to 3.5 million. I did 5 runs. Although it might be not enough for statistical significance.

> What's the average SPECjvm improvement?

I don't have a combined score. As I am interested in regression firstly, I ran the following benchmarks separately: `startup compress crypto.aes crypto.rsa crypto.signverify derby mpegaudio scimark serial sunflow`. 

> 
> > **OPTION 1**: If we don't track code modification in `fix_oop_relocations` and assume any call of `fix_oop_relocations` requires icache invalidation, results are the following:
> > ```
> > * 1032(min), 1057(max), 1045(geomean), -0.7% regression
> > ```
> 
> So, Options 1 and 2 are actually worse than doing nothing?

Yes, they are. I think they invalidate icache for code which does not need invalidation. `perf stat -e exc_trap_other` showed ~8% increase vs the PR version. I can try to check whether hot code gets invalidated.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28328#discussion_r2860577255


More information about the shenandoah-dev mailing list