RFR: 8247820: ParallelGC: Process strong OopStorage entries in parallel
Thomas Schatzl
thomas.schatzl at oracle.com
Tue Jun 23 10:48:20 UTC 2020
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