-
Enhancement
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11-shenandoah, 14, 15
-
b18
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8243611 | 14.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b04 |
Current adaptive/traversal heuristics targets the amount of free space after the end of the cycle, as the percent driven by ShenandoahMinFreeThreshold. But it compares against actual_free from the cset selection code that counts all free regions, including those that would get into the evac reserve. This makes free space target undershoot the free space after collection, when evac reserve takes its cut. We need to account for that.
Note that on all other paths, we are comparing ShenandoahMinFreeThreshold with free_set()->available(), that excludes evac-reserve already.
Note that on all other paths, we are comparing ShenandoahMinFreeThreshold with free_set()->available(), that excludes evac-reserve already.
- backported by
-
JDK-8243611 Shenandoah: adaptive heuristics should account evac reserve in free target
-
- Resolved
-