RFR: 8317371: GenShen: Needs improved support for humongous allocation [v14]
Kelvin Nilsen
kdnilsen at openjdk.org
Fri Oct 20 17:43:13 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 22 commits:
- Merge remote-tracking branch 'origin/master' into improve-humongous-allocations
- Allow for no old regions in assertion
- One more try at this assertion
- Fix assert to deal with humongous old
- Add a comment
- Fix assertion to deal with humongous accounting
- Restore ShenandoahFullGCThreshold to 3
- In-line two small single-use functions
- Restore _humongous_alloc_failure_gc flag removed in merge conflict
- Merge master
- ... and 12 more: https://git.openjdk.org/shenandoah/compare/e6c788e0...07f7f1f9
-------------
Changes: https://git.openjdk.org/shenandoah/pull/336/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=336&range=13
Stats: 247 lines in 12 files changed: 191 ins; 8 del; 48 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