RFR: Fallback to shared allocation if GCLAB is not available
Aleksey Shipilev
shade at redhat.com
Wed Jul 19 09:36:24 UTC 2017
Looking at some failures I suspected some system threads still do not have
GCLABs. Then it struck me that we can rewire the logic to check if GCLAB is
available, and fallback to shared allocation if GCLAB is not there. This turns
executing write barriers from the threads that miss GCLABs into a performance
nuisance, not a catastrophic bug.
Fix:
http://cr.openjdk.java.net/~shade/shenandoah/gclabs-fallback/webrev.01/
This reverts parts of "All threads should have GCLABs" changeset:
http://hg.openjdk.java.net/shenandoah/jdk10/hotspot/rev/aa7cdfe4fabe
We now make sure that only Java threads and GC worker threads are having GCLABs,
because most GCLAB allocations will come from them. Which limits our upstream
exposure too, because we don't need to track any system thread.
Testing: hotspot_gc_shenandoah
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list