RFR: 8316299: GenShen: Reduce frequency of expedited GC

Kelvin Nilsen kdnilsen at openjdk.org
Thu Sep 14 17:22:15 UTC 2023


On Thu, 14 Sep 2023 16:25:33 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> We have found that expedited GCs too frequently yield very little benefit because they occur so soon after the previous GC that there has been no accumulation of garbage.
>> 
>> The primary motivation for expediting GC is to avoid a situation under which there is so much "promotion" work to be performed that the urgent need to reclaim garbage from young-generation is obstructed by this promotion work.
>> 
>> This PR ends the practice of expediting to support promotion in place.  The effort required to promote a region in place is minimal and unlikely to contend in a major way with young collection efforts.
>> 
>> This PR also reduces the likelihood that we will expedite for promotion by evacuation, because it requires the amount of accumulated promo potential to exceed a particular threshold.
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahYoungHeuristics.cpp line 149:
> 
>> 147:   }
>> 148: 
>> 149:   size_t promo_in_place_potential = heap->get_promotion_in_place_potential();
> 
> Can we also now delete `ShenandoahHeap::get_promotion_in_place_potential` and all the attendant code that maintains the value? This heuristic was the only place reading it.

Good point.  I'll do that.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/325#discussion_r1326296597


More information about the shenandoah-dev mailing list