RFR: 8315686: G1: Disallow evacuation of marking regions in a Prepare Mixed gc

Thomas Schatzl tschatzl at openjdk.org
Thu Sep 7 08:24:01 UTC 2023


Hi all,

  can I have reviews for this change that disables "Prepare Mixed" GCs (opportunistically) taking collection set candidates from marking into their collection set?
The problem when doing so is related to pause time predictions:
* Prepare Mixed young gen prediction did never take (marking) old gen regions into account in the first place, potentially blowing MMU (that there is a minimum regions to take per GC does not help)
* another problem is how to account this "half-young-only" in the predictions: what kind of predictions to take here, the ones for young-only gcs or mixed gcs? What predictions to update for this kind of GC?
* a third problem is adaptive IHOP: there are cases where that "Prepare Mixed" gc would take all marking collection set candidates, which means that the adaptive IHOP algorithm may never get a full "Concurrent Start" to first "Mixed GC" cycle, leading to IHOP not being changed dynamically.
* another problem related to "Prepare Mixed" gc taking all marking collection set candidates is that the next Mixed GC will be somewhat degenerate, having no old gen regions to collect, impacting mixed phase predictions as well.

For all these reasons it is best to disable Prepare Mixed GC taking marking collection set candidates.

Testing: gha, manual behavior checking

Thanks,
  Thomas

-------------

Commit messages:
 - Initial version

Changes: https://git.openjdk.org/jdk/pull/15611/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15611&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8315686
  Stats: 8 lines in 1 file changed: 4 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/15611.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15611/head:pull/15611

PR: https://git.openjdk.org/jdk/pull/15611


More information about the hotspot-gc-dev mailing list