RFR: 8318190: GenShen: Be less aggressive with triggers for old-gen has expanded [v3]
William Kemper
wkemper at openjdk.org
Tue Oct 17 16:25:21 UTC 2023
On Mon, 16 Oct 2023 23:17:34 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> This patch reduces the frequency of old-has-grown triggers in the case that old usage is smaller than a particular threshold percentage (default value 5%) of the total heap size. In this case, old is triggered for growth no more frequently than once every N cycles, where N defaults to 50.
>
> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix whitespace
Some minor suggestions.
src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp line 519:
> 517: }
> 518:
> 519: if (_growth_trigger) {
Could the trigger just evaluate the condition directly? It's not clear why we double check `_growth_trigger` condition instead of just checking once when trigger is evaluated?
src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp line 106:
> 104: volatile GCMode _mode;
> 105: shenandoah_padding(3);
> 106: volatile size_t _consecutive_young;
This member would fit in better with `ShenandoahCollectorPolicy`, which gathers similar statistics via its `record` methods (`record_success_concurrent`, `record_success_old`, e.g.). We wouldn't need changes in `ShenandoahControlThread` in that approach.
src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 38:
> 36: constraint) \
> 37: \
> 38: product(double, ShenandoahGenerationalMinOldGenGrowthPercent, \
I'd rather not include `Generational` in these property names - I think it just makes them too long and I don't think users will confuse them with non-generational settings.
-------------
Changes requested by wkemper (Committer).
PR Review: https://git.openjdk.org/shenandoah/pull/341#pullrequestreview-1682699388
PR Review Comment: https://git.openjdk.org/shenandoah/pull/341#discussion_r1362349454
PR Review Comment: https://git.openjdk.org/shenandoah/pull/341#discussion_r1362337986
PR Review Comment: https://git.openjdk.org/shenandoah/pull/341#discussion_r1362341400
More information about the shenandoah-dev
mailing list