RFR: Expand old on demand [v60]

Y. Srinivas Ramakrishna ysr at openjdk.org
Thu May 25 23:29:59 UTC 2023


On Tue, 23 May 2023 23:25:42 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> This PR describes several proposed changes to dynamically adjust the sizes of old-gen and young-gen.  In general, the objective is to keep old-gen as small as possible so that there is an abundance of memory available for the young-gen allocation runway.
>> 
>> This PR now passes all GHA pre-integration tests and other internal CI tests.
>
> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix argument types to not loose precision

src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp line 100:

> 98:     _young_bytes_to_evacuate += live;
> 99:     _young_available_bytes_collected += free;
> 100:     if (r->age() >= InitialTenuringThreshold) {

I believe this is called in non-generational case as well (based on testing with tenuring threshold work I am doing). Does the logic work out right for the values of InitialTenuringThreshold and ("young") region age there? I am guessing it doesn't matter because perhaps `_young_bytes_to_promote` isn't used in the non-generational case. Might be good to elide this budgeting code in the non-generational case entirely if it isn't used there.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/248#discussion_r1203291405


More information about the shenandoah-dev mailing list