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