RFR: 8318619: GenShen: Add configurable threshold for young triggers to expedite old evacuations

Y. Srinivas Ramakrishna ysr at openjdk.org
Tue Oct 24 20:52:10 UTC 2023


On Fri, 20 Oct 2023 20:29:48 GMT, William Kemper <wkemper at openjdk.org> wrote:

> When Shenandoah expects to free up space by promotions into young, or evacuations in old it may trigger a young collection. This change sets configurable thresholds for these conditions.

LGTM, but left some pretty minor comments.

src/hotspot/share/gc/shenandoah/heuristics/shenandoahYoungHeuristics.cpp line 152:

> 150:   ShenandoahOldHeuristics* old_heuristics = heap->old_heuristics();
> 151:   size_t mixed_candidates = old_heuristics->unprocessed_old_collection_candidates();
> 152:   if (mixed_candidates > ShenandoahExpediteMixedThreshold && !heap->is_concurrent_weak_root_in_progress()) {

Might be a good idea to move the counting & test of threshold inside the test for collection state.

src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 147:

> 145:           "free up more memory.")                                           \
> 146:                                                                             \
> 147:   product(uintx, ShenandoahExpeditePromotionsThreshold, 5, EXPERIMENTAL,    \

It's a good idea to add a Percent suffix to this.

src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 153:

> 151:           range(0,100)                                                      \
> 152:                                                                             \
> 153:   product(uintx, ShenandoahExpediteMixedThreshold, 10, EXPERIMENTAL,        \

Similar to above, may be a good idea to add a Regions suffix to this.

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

PR Review: https://git.openjdk.org/shenandoah/pull/347#pullrequestreview-1695848963
PR Review Comment: https://git.openjdk.org/shenandoah/pull/347#discussion_r1370795292
PR Review Comment: https://git.openjdk.org/shenandoah/pull/347#discussion_r1370792577
PR Review Comment: https://git.openjdk.org/shenandoah/pull/347#discussion_r1370793220


More information about the shenandoah-dev mailing list