JDK-8280705 : Parallel: Full gc mark stack draining should prefer to make work available to other threads
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 17,19
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-01-26
  • Updated: 2023-10-17
  • Resolved: 2022-01-31
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 19
19 b08Fixed
Related Reports
Relates :  
Relates :  
Description
Similar to G1 in JDK-8280396, Full gc mark stack handling threads may work on the overflow queue exclusively starving other threads.

Bigramtester 20gb currently gives the following times for the first two full gcs on 5 runs:

1) 6-9000ms (high variance)
2) 3-4500ms (high variance)

With the prototype changes:

1) 4600ms (variance ~ 2%)
2) 1500ms (variance ~ 1%)

Comments
Fix Request (17u) Fixes the issue similar to G1 issue, but this time in Parallel Full GC. Applies cleanly, testing passes.
30-06-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk17u-dev/pull/1521 Date: 2023-06-30 10:11:54 +0000
30-06-2023

Changeset: bdda43e0 Author: Thomas Schatzl <tschatzl@openjdk.org> Date: 2022-01-31 16:01:18 +0000 URL: https://git.openjdk.java.net/jdk/commit/bdda43e066b8da0ebf9a8ef2f843eabb230f0800
31-01-2022

Improvements are very situational, depending on shared task queue overflow occurring. Otherwise it is equal to the old code.
27-01-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/7244 Date: 2022-01-27 12:49:12 +0000
27-01-2022