JDK-8204686 : Dynamic parallel reference processing support for Parallel GC
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 11
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-06-11
  • Updated: 2021-07-21
  • Resolved: 2021-06-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17
17 b26Fixed
Related Reports
CSR :  
Relates :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8268105 :  
Description
Implement support for dynamic parallel reference processing support for parallel GC particularly because since JDK-8204951 parallel gc uses WorkGangs.
Comments
Changeset: 9fc914b9 Author: Leo Korinth <lkorinth@openjdk.org> Date: 2021-06-07 08:02:26 +0000 URL: https://git.openjdk.java.net/jdk/commit/9fc914b96321c24e14f1b52246df0b816cb7dafa
07-06-2021

Original description: During review of the dynamic parallel reference processing we found that Parallel GC support is not as trivial as expected. The way parallel gc manages worker threads is more sophisticated than expected, so we removed support for it in the first iteration. In particular, when changing number of threads, you need to supply IdleTasks to the supposedly idle threads manually. Implement support for it.
31-05-2021

JDK-8204951 changed ParallelGC to use WorkGangs as the basis for parallelism. We can remove the AbstractRefProcTaskExecutor abstraction and change reference processing to just use workgangs, at which point ParallelGC should pick up the dynamic parallel reference processing feature for free.
29-08-2019