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

Aleksey Shipilev shade at redhat.com
Fri Oct 19 21:56:15 UTC 2018


On 10/19/2018 09:28 PM, Roman Kennke wrote:
> 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/

Looks good!

And here I thought we did everything right with ShenandoahSharedFlag on all hot paths. I'll revisit
other places next week.

-Aleksey



More information about the shenandoah-dev mailing list