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

Roman Kennke rkennke at redhat.com
Fri Oct 19 19:30:01 UTC 2018


Oh yeah, if that evac-oom-stuff is so sensitive on performance
(presumably on the mutator WB slow path), we should probably consider
ways to improve it? I didn't see any obvious opportunities besides
WB-assist, which is already there.

> 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