RFR: Refactor ShenandoahHeapLock
Aleksey Shipilev
shade at redhat.com
Fri Aug 25 10:31:37 UTC 2017
Three improvements:
a) Move ShenandoahHeapLock to a separate file, split lock and locker;
b) Pad the lock state to avoid false sharing against other fields;
c) Reuse the spin-lock mechanism from Thread (probably written by Dave Dice);
Webrev:
http://cr.openjdk.java.net/~shade/shenandoah/heaplock-refactor/webrev.01/
Improves -UseTLAB scores ~25% under heavy allocation, and also levels out some allocation outliers,
see e.g:
http://cr.openjdk.java.net/~shade/shenandoah/heaplock-refactor/stalls-before.txt
http://cr.openjdk.java.net/~shade/shenandoah/heaplock-refactor/stalls-after.txt
Testing: hotspot_gc_shenandoah, some benchmarks
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list