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