RFR: 8370947: Mitigate Neoverse-N1 erratum 1542419 negative impact on GCs and JIT performance [v28]
Evgeny Astigeevich
eastigeevich at openjdk.org
Fri Feb 20 14:48:41 UTC 2026
On Fri, 20 Feb 2026 13:49:51 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:
> > We automatically, if an user does not use cmd options, detect whether we can use single invalidation and need mitigation of the errata.
>
> So is UseSingleICacheInvalidation a win, when you don't have the erratum?
Yes, it is. Graviton 3 without the N1 bug has the following improvements for ZGC: https://github.com/openjdk/jdk/pull/28328#issuecomment-3585923078
2 fields accessed
Full GC: 13%
System GC: 14%
Young GC: 28%
4 fields accessed
Full GC: 20%
System GC: 20%
Young GC: 33%
8 fields accessed
Full GC: 26%
System GC: 26%
Young GC: 40%
I might need to rerun a microbenchmark for the master tip.
> Also, perhaps if we can check that we have reliable icache coherency, we can have a tighter nmethod entry barrier, more similar to what we have on x86, without the epoching checks that I added because we can't generally rely on instruction cache coherence being present. But that sounds like some fun for another day.
Yes, checking IDC/DIC bits is a reliable way to check for full hardware cache coherence.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28328#issuecomment-3935341655
More information about the shenandoah-dev
mailing list