RFR: 8349766: GenShen: Bad progress after degen does not always need full gc [v5]

Kelvin Nilsen kdnilsen at openjdk.org
Tue Feb 18 19:28:28 UTC 2025


> In generational mode, only upgrade to full GC from degenerated GC if we've done two degenerated cycles in a row and both indicated bad progress.  Otherwise, start another concurrent GC, which will most likely degenerate also.  But this degenerated cycle will reclaim floating garbage within the young generation much more quickly than a full GC would have done.

Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:

 - Merge branch 'master' of https://git.openjdk.org/jdk into defer-generational-full-gc
 - Merge master
 - Fix typo in merge conflict resolution
 - 8348595: GenShen: Fix generational free-memory no-progress check
   
   Reviewed-by: phh, xpeng
 - 8348092: Shenandoah: assert(nk >= _lowest_valid_narrow_klass_id && nk <= _highest_valid_narrow_klass_id) failed: narrowKlass ID out of range (3131947710)
   
   Reviewed-by: shade
 - Merge tag 'jdk-25+10' into defer-generational-full-gc
   
   Added tag jdk-25+10 for changeset a637ccf2
 - Be less eager to upgrade degen to full gc

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

Changes: https://git.openjdk.org/jdk/pull/23552/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23552&range=04
  Stats: 20 lines in 2 files changed: 17 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/23552.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23552/head:pull/23552

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


More information about the hotspot-gc-dev mailing list