RFR: 8317371: GenShen: Needs improved support for humongous allocation [v20]

Kelvin Nilsen kdnilsen at openjdk.org
Tue Oct 24 23:30:41 UTC 2023


> Several improvements:
> 1. If there is a humongous allocation failure, go immediately to Full GC rather than trying 64 degenerated GC first
> 2. Reduce likelihood of humongous allocation errors by:
>     a. Allocating regular objects from top end of memory while allocating humongous from bottom end of memory
>     b. (Especially) in the case that regular regions that are promoted in place reside within the bottom end of memory, detect that old-gen memory has become fragmented and trigger old-gen GC, which will make a special effort to move these out-of-place old-gen regions to higher addresses.

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

 - Merge remote-tracking branch 'origin/master' into improve-humongous-allocations
 - Prohibit humongous regions from being added to mixed-evac candidates
 - Improve name of fragmentation_trigger_reason method
 - Merge remote-tracking branch 'origin/master' into improve-humongous-allocations
 - Fix merge conflict
 - Remove redundant option to request dump of memory logs
 - Fix up comments and log message
   
   As prompted by reviewer feedback.
 - Merge remote-tracking branch 'origin/master' into improve-humongous-allocations
 - Allow for no old regions in assertion
 - One more try at this assertion
 - ... and 19 more: https://git.openjdk.org/shenandoah/compare/31e5124e...ac94ed53

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

Changes: https://git.openjdk.org/shenandoah/pull/336/files
 Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=336&range=19
  Stats: 240 lines in 12 files changed: 186 ins; 7 del; 47 mod
  Patch: https://git.openjdk.org/shenandoah/pull/336.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/336/head:pull/336

PR: https://git.openjdk.org/shenandoah/pull/336


More information about the shenandoah-dev mailing list