JDK-8295819 : Release Note: Improved control of G1 concurrent refinement threads
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 20
  • Priority: P4
  • Status: Resolved
  • Resolution: Delivered
  • Submitted: 2022-10-23
  • Updated: 2022-10-25
  • Resolved: 2022-10-25
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 20
20Resolved
Description
The control of G1 concurrent refinement threads has been completely replaced.  The new controller typically allocates fewer threads. It tends to have fewer spikes in refinement thread activity. It also tends to delay refinement, allowing more filtering by the write barrier when there are multiple writes to the same or nearby locations, improving the efficiency of the barrier.

There are a number of command line options used to provide parameter values for the old controller. These aren't relevant to the new controller, and no longer serve any useful purpose. They have all been made obsolete; specifying any of them on the command line will do nothing but print a warning message about the option being obsolete.  These arguments are

`-XX:-G1UseAdaptiveConcRefinement`<br>
`-XX:G1ConcRefinementGreenZone=`_buffer-count_<br>
`-XX:G1ConcRefinementYellowZone=`_buffer-count_<br>
`-XX:G1ConcRefinementRedZone=`_buffer-count_<br>
`-XX:G1ConcRefinementThresholdStep=`_buffer-count_<br>
`-XX:G1ConcRefinementServiceIntervalMillis=`_msec_

These options will be removed entirely in some future release.  Use of any of these options after that time will terminate startup of the virtual machine.