JDK-8137280 : Remove eager reclaim of humongous controls
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2015-09-28
  • Updated: 2022-07-14
  • Resolved: 2022-07-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 20
20 b06Fixed
Related Reports
Relates :  
Relates :  
The options G1EagerReclaimHumongousObjects and G1EagerReclaimHumongousObjectsWithStaleRefs are presently defined as experimental, but are enabled by default.

The features being controlled have been enabled for a number of months without causing problems, so that we no longer consider the associated features to be experimental.  So it's time to remove the options.

Changeset: 013a5eee Author: Albert Mingkun Yang <ayang@openjdk.org> Date: 2022-07-07 13:53:24 +0000 URL: https://git.openjdk.org/jdk/commit/013a5eeeb9d9a46778f68261ac69ed7235cdc7dd

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/9392 Date: 2022-07-06 08:12:32 +0000

+1 for removing the flags =)

While the flags are experimental and can be removed easily, a release note would be nice anyway.

From a discussion with [~sjohanss]: "we will keep collecting eager reclaim candidates even if we run with -XX:-G1EagerReclaimHumongousObjects since our is_potential_eager_reclaim_candidate() first check the WithStaleRefs flag. So to disable eager reclaim candidate search we need to disable two flagsā€¦ but only the first is needed to then not do anything with the candidates" Since disabling humongous eager reclaim is kind-of broken anyway, apparently it has been working fine for a long time...

There is actually an argument about not removing these options, JDK-8141637 shows that disabling eager humongous reclamation may be useful.