RFR: 8339611: GenShen: Simplify ShenandoahOldHeuristics::trigger_collection_if_fragmented [v2]

Kelvin Nilsen kdnilsen at openjdk.org
Fri Sep 6 19:17:36 UTC 2024


On Fri, 6 Sep 2024 13:39:31 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> Replace iterative solution with a single mathematical computation, and adjust old-gen defragmentation efforts to be a bit less aggressive.
>
> Kelvin Nilsen has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - Be less aggressive about triggering old defragmentation
>  - Revert "Be even less aggressive in triggering for old fragmentatino"
>    
>    This reverts commit 8edad5b29b40774073a2a9dc464217341a3e6220.
>  - Be even less aggressive in triggering for old fragmentatino

src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp line 570:

> 568:     if ((old_span_percent >= 0.50) && (old_density / old_span_percent_squared < 0.75)) {
> 569:       // We trigger old defragmentation, for example, if:
> 570:       //  old_span_percent is 100% and old_density is below 75.0%, or

Note that old_span_percent may be greater than 100%.  Can add comment:
  old_span_percent is 110% and old_density is below 90.8%, or
  
At higher existing utilization, there is less benefit to defragmenting, because there are diminishing returns for the larger efforts.  We're just copying nearly full regions around...

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/492#discussion_r1747606924


More information about the shenandoah-dev mailing list