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