RFR: 8314599: [GenShen] Couple adaptive tenuring and generation size budgeting [v3]

William Kemper wkemper at openjdk.org
Tue Oct 7 22:24:18 UTC 2025


On Mon, 6 Oct 2025 23:17:01 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix windows build more
>
> src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 481:
> 
>> 479:   // promotions than fit in reserved memory, they will be deferred until a future GC pass.
>> 480:   size_t total_promotion_reserve = young_advance_promoted_reserve_used + excess_old;
>> 481:   old_generation->set_promoted_reserve(total_promotion_reserve);
> 
> Can you clarify why we no longer need this set_promoted_reserve() call?  (just in a PR comment probably, not necessarily a code comment.)

In `compute_evacuation_reserves` we are setting the promotion reserve to the maximum possible to handle everything tenurable this cycle (this is still capped by the maximum evacuation reserve for old). I was reluctant to scale the promotion reserve by `ShenandoahPromoEvacWaste`  for fear it would over commit the collector's reserves and lead to OOM errors during evacuation.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27632#discussion_r2412065409


More information about the hotspot-gc-dev mailing list