RFC: TLAB allocation and garbage-first policy

Aleksey Shipilev shade at redhat.com
Wed Sep 20 12:45:25 UTC 2017


On 09/20/2017 02:43 PM, Zhengyu Gu wrote:
>>>
>>> Should this region be added back to free set after GC and be reused?
>>
>> In theory, yes -- and this is why it does not crash and burn immediately. In practice, it such
>> regions seem to get retired due to the same race: unsafe_tlab_alloc says we can fit the TLAB in
>> region #N, we blink, we try to fit the TLAB in region #N+1, which happens to be half-full, we fail,
>> we retire the region.
>>
> Yes, I see this problem also, but I think it is TLAB issue. I think TLAB allocation should accept a
> rang of sizes, instead of fixed size.

No doubts about that: this is the race in TLAB machinery. However, there seem to be no way to fix
this in TLAB, because it is a shared code used by all collectors, and changes there significantly
increase our upstream exposure.

-Aleksey



More information about the shenandoah-dev mailing list