RFR: 8316297: GenShen: Degenerated GCs fail to make progress
William Kemper
wkemper at openjdk.org
Thu Sep 14 16:30:18 UTC 2023
On Thu, 14 Sep 2023 14:32:42 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
> A recent change to the implementation of ShenandoahYoungGeneration::available() resulted in a budgeting shortfall during degenerated GC. The problem is that we degenerate after mutator allocations fail, at which time young available memory is in very short supply. The change to available() caused us to only see the mutator budget, which has been depleted. This resulted in a very high probability that degenerated GC would fail to make progress, forcing degenerated GC to upgrade to full GC.
>
> This PR makes the Collector reserve memory visible to the function that computes evacuation budgets, thereby increasing the likelihood of a successful degenerated cycle and obviating the need for a Full GC.
Marked as reviewed by wkemper (Committer).
-------------
PR Review: https://git.openjdk.org/shenandoah/pull/324#pullrequestreview-1627320170
More information about the shenandoah-dev
mailing list