RFR: 8315686: G1: Disallow evacuation of marking regions in a Prepare Mixed gc [v2]
Thomas Schatzl
tschatzl at openjdk.org
Thu Sep 7 13:52:13 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
Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:
ayang review
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/15611/files
- new: https://git.openjdk.org/jdk/pull/15611/files/c2af8b5a..0132d26a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=15611&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=15611&range=00-01
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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