RFR: Avoid false sharing by padding the ShenandoahEvacOOMHandler field in ShenandoahHeap

Roman Kennke rkennke at redhat.com
Fri Oct 19 19:28:04 UTC 2018


The changeset "Sort ShenandoahHeap methods/fields into logical groups"
from Sept 21 reordered fields in ShenandoahHeap. Oddly, this has caused
a *severe* regression in Traversal GC (and presumably less severe with
adaptive) that caused throughput to drop by about 1/3. The reason for
this seems to be false sharing. Padding the evac_oom_handler field fixes it:

http://cr.openjdk.java.net/~rkennke/evac-oom-false-sharing/webrev.00/

Testing: tier3_gc_shenandoah, regressing benchmark is ok again

Ok?

Roman



More information about the shenandoah-dev mailing list