RFR: 8191471: Elastic TLABs for G1

Stefan Johansson stefan.johansson at oracle.com
Tue Apr 24 08:26:55 UTC 2018


Thanks for reviewing Thomas,

On 2018-04-23 16:08, Thomas Schatzl wrote:
> On Mon, 2018-04-23 at 14:57 +0200, Stefan Johansson wrote:
>> Hi,
>>
>> Please review these changes to lower the waste in G1 mutator regions.
>>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8191471
>> Webrev: http://cr.openjdk.java.net/~sjohanss/8191471/00/
>>
>> Summary
>> G1 might waste excessive amount of memory due to allocations that
>> would span region boundaries. To lower this waste this patch
>> addresses this problem in two ways. TLAB allocations are now more
>> flexible allowing the size to be less then the desired amount as long
>> as the allocation will fit in the TLAB (defined by min_word_size in
>> the call).
>>
>> The G1 allocation code also tries to minimize the waste by keeping
>> two active allocation regions so that a single large allocation won't
>> cause waste that could have been used for other allocations.
> 
>    some minor nits:
> 
> - I would prefer that allocate_new_tlab() returned zero in
> actual_word_size if the allocation failed. It does not in any
> implementation.
> 
> - g1CollectedHeap.hpp:444: superfluous newline
> 
> - collectedHeap.hpp:132: "filled out" -> "returned"
> 
All fixed, new webrevs:
Full: http://cr.openjdk.java.net/~sjohanss/8191471/01/
Inc: http://cr.openjdk.java.net/~sjohanss/8191471/00-01/

Thanks,
Stefan

> Seems good otherwise.
> 
> Thanks,
>    Thomas
> 


More information about the hotspot-gc-dev mailing list