RFR (S) 8244327: Shenandoah: GC workers should always get the largest GCLABs

Roman Kennke rkennke at redhat.com
Mon May 4 15:37:03 UTC 2020

I am not so sure. Here on my machine it's using 16 GC workers, which
means it would grab 16 regions, 1 region each, (possibly 32MB each
region when running large heaps), for GCLAB right away? Would it even
nearly fill up all those regions? Maybe this should be put in a
heuristic that counts in cset size and num-gc-threads?


> RFE:
>   https://bugs.openjdk.java.net/browse/JDK-8244327
> We have the adaptive GCLAB sizing that starts with min TLAB size and doubles up on every refresh.
> That is suitable for Java threads that rarely evacuate through the LRB slowpath. GC workers, on the
> other hand, do the bulk of the GC evacuation work, and should just use the largest GCLABs available
> for them.
> Webrev:
>   https://cr.openjdk.java.net/~shade/8244327/webrev.01/
> Testing: hotspot_gc_shenandoah, looking through GCLAB issuance logs

More information about the hotspot-gc-dev mailing list