RFR: Fix budgeting assertion

Kelvin Nilsen kdnilsen at openjdk.org
Fri Aug 5 21:02:09 UTC 2022


An assertion failure revealed problems with evacuation budgeting computations.  Three changes are reflected in this pull request:

1. Memory set aside for the promotion reserve was not excluded from the allocation supplement
2. When the old evacuation reserve is larger than the memory consumed by old evacuation collection set, we loan the excess memory to allocation supplement to make sure this memory is not consumed by promotions.  The number of regions set aside from this reserve for the allocation supplement must be rounded down from the total excess memory.  (Before this patch, it was rounded up.)
3. The assertion test that was failing needed a <= comparison instead of a < comparison.

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

Commit messages:
 - Merge remote-tracking branch 'GitFarmBranch/fix-budgeting-assertion' into fix-budgeting-assertion
 - Remove instrumentation
 - Round down regions proactively loaned for evacuation supplement
 - Add some instrumentation to facilitate debugging
 - Remove promotion_reserve from memory available for allocation supplement

Changes: https://git.openjdk.org/shenandoah/pull/156/files
 Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=156&range=00
  Stats: 23 lines in 2 files changed: 16 ins; 1 del; 6 mod
  Patch: https://git.openjdk.org/shenandoah/pull/156.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah pull/156/head:pull/156

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


More information about the shenandoah-dev mailing list