Fwd: RFC: TLAB allocation and garbage-first policy
Aleksey Shipilev
shade at redhat.com
Wed Sep 20 16:48:57 UTC 2017
On 09/20/2017 06:37 PM, Christine Flood wrote:
> G1 will trigger a young generation gc when it's designated young regions are full.
I was talking about mixed collections though, see G1MixedGCLiveThresholdPercent and
CollectionSetChooser::should_add.
> We trigger a GC when we get to a certain allocation threshold which doesn't really imply anything about how full our current allocation regions are.
That is not entirely true. Our allocation code walks through freeset linearly, which means that what
we have left behind as "used" in the freeset includes only fully-allocated and
racy-fragmented-retired regions...
> Again there is nothing preventing us from writing a heuristic that triggers when we fill up a
> certain number of regions, but that isn't what we currently do.
...so the heuristics that account for ShenandoahAllocationThreshold (which are most of them),
already do that.
So the difference against G1 is still murky for me. I am experimenting with TLAB trimming.
-Aleksey
More information about the shenandoah-dev
mailing list