RFR: 8348595: GenShen: Fix generational free-memory no-progress check
Kelvin Nilsen
kdnilsen at openjdk.org
Fri Jan 24 18:35:17 UTC 2025
At the end of a degenerated GC, we check whether sufficient progress has been made in replenishing the memory available to the mutator. The test for good progress is implemented as a ratio of free memory against the total heap size.
For generational Shenandoah, the ratio should be computed against the size of the young generation. Note that the size of the generational collection set is based on young generation size rather than total heap size.
This issue first identified in GenShen GC logs, where a large number of degenerated cycles were upgrading to full GC because the free-set progress was short of desired by 10-25%.
-------------
Commit messages:
- Use freeset to determine goodness of progress
- Use size-of young generation to assess progress
Changes: https://git.openjdk.org/jdk/pull/23306/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23306&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8348595
Stats: 8 lines in 2 files changed: 4 ins; 0 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/23306.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23306/head:pull/23306
PR: https://git.openjdk.org/jdk/pull/23306
More information about the hotspot-gc-dev
mailing list