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