RFR: 8184751: Provide thread pool for parallel safepoint cleanup

Roman Kennke rkennke at redhat.com
Fri Jul 21 10:13:24 UTC 2017

This is a follow-up to 8180932: Parallelize safepoint cleanup, which
should land in JDK10 real soon now.

In order to actually be able to parallelize safepoint cleanup, we now
need the GC to provide some worker threads.

In this change, I propose to create one globally (i.e. for all GCs) in
CollectedHeap, if ParallelSafepointCleanupThreads>1. The flag defaults
to 0, which means it's doing cleanup using the VMThread (i.e. exactly
current behaviour).

We have already discussed this, and came to the conclusion that it does
not really make sense to share the GC's worker threads here, because
they may not be idle, but only suspended from concurrent work (i.e. by
SuspendibleThreadSet::synchronize() or similar).


What do you think?


More information about the hotspot-gc-dev mailing list