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