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

Aleksey Shipilev shade at redhat.com
Mon May 4 16:03:30 UTC 2020

On 5/4/20 5:37 PM, Roman Kennke wrote:
> 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? 

Every GC worker would get a region-size GCLAB, yes. Which in your example would amount to 16*32=512M
of space allocated. The tidbit is, in all workloads I tried, that happens anyway. Except that with
adaptive sizing we have the awkward phase during the beginning of the evacuation (actually, even in
final mark, when roots are pre-evacuated!), where workers come for GCLABs over and over again until
GCLAB sizes balloon up.

> 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?
Yeah, I can see if we can size it up right after cset selection?


More information about the hotspot-gc-dev mailing list