RFR: 8247820: ParallelGC: Process strong OopStorage entries in parallel

Stefan Karlsson stefan.karlsson at oracle.com
Tue Jun 23 11:03:12 UTC 2020


Thanks, Thomas.

StefanK

On 2020-06-23 12:48, Thomas Schatzl wrote:
> Hi,
> 
> On 23.06.20 12:29, Stefan Karlsson wrote:
>>
>>
>> On 2020-06-23 12:23, Kim Barrett wrote:
>>>> On Jun 23, 2020, at 4:23 AM, Stefan Karlsson 
>>>> <stefan.karlsson at oracle.com> wrote:
>>>> [...]
>>>
>>> ------------------------------------------------------------------------------ 
>>>
>>> src/hotspot/share/gc/parallel/psScavenge.cpp
>>>   367     // Scavenge OopStorages
>>> ...
>>>   376     PSThreadRootsTaskClosure closure(worker_id);
>>>   377     Threads::possibly_parallel_threads_do(true /*parallel */, 
>>> &closure);
>>>
>>> I think it's better to do these in the other order.  Processing the
>>> OopStorages is very parallel, with relatively small work chunks.
>>> Thread processing could encounter a large thread late in the process,
>>> leaving the one thread processing it as the long pole, with other
>>> threads possibly not having much to do, other than (relatively
>>> expensive) stealing.
>>>
>>> Similarly for psParallelCompact.
>>>
>>> ------------------------------------------------------------------------------ 
>>>
>>>
>>> Other than that one comment, looks good.
>>
>> Updated webrev:
>>   https://cr.openjdk.java.net/~stefank/8247820/webrev.02.delta/
>>   https://cr.openjdk.java.net/~stefank/8247820/webrev.02/
>>
> 
>    still good.
> 
> Thomas


More information about the hotspot-gc-dev mailing list