RFR: Use PLAB for evacuations instead of TLAB

Roman Kennke rkennke at redhat.com
Fri May 11 20:31:28 UTC 2018


Am 11.05.2018 um 15:31 schrieb Aleksey Shipilev:
> On 05/11/2018 03:29 PM, Roman Kennke wrote:
>> Am 11.05.2018 um 14:51 schrieb Aleksey Shipilev:
>>> On 05/10/2018 09:28 PM, Roman Kennke wrote:
>>>>>> Diff:
>>>>>> http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.03.diff/
>>>>>> Full:
>>>>>> http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.03/
>>>>>
>>>>> Looks good.
>>>>>
>>>>> -Aleksey
>>>>>
>>>>
>>>> I just realized that it sortof depends on the allocation refactoring
>>>> (see "Improve abstraction for runtime allocations"):
>>>>
>>>> http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-May/005886.html
>>>>
>>>> Re-basing it would mean to get half of that patch into this one. I think
>>>> it's cleaner as it is.
>>>
>>> Since using PLABs instead of TLABs is something that we want to backport, so it should be separate
>>> from whatever interface changes we also do. It seems runtime allocations interface would increase
>>> upstream exposure in backports, and so we better these two changes.
>>>
>>
>>
>> The alternative would be to add some mess similar to what we have in
>> TLAB now to adjust fill_with_object() and initialize the fwd pointer,
>> etc. I can do that -- after lunch ;-)
> 
> Yes, please. I think it would be cleaner for all codebases. This PLAB change should be independent,
> and *then* we can clean it up with saner allocation path for sh/jdk and upstream.

This should do it. It passes hotspot_gc_shenandoah:

Differential patch:
http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.04.diff/
Full patch:
http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.04/

Ok?



More information about the shenandoah-dev mailing list