RFR: Tune heuristic defaults and behavior for improved stability

Y. Srinivas Ramakrishna ysr at openjdk.org
Tue Jan 31 21:37:28 UTC 2023


On Tue, 31 Jan 2023 18:05:16 GMT, William Kemper <wkemper at openjdk.org> wrote:

> Also, some minor changes to logging.

LGTM, modulo question re (high level) performance data to share, if any.

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

> 148:           range(0,100)                                                      \
> 149:                                                                             \
> 150:   product(uintx, ShenandoahLearningSteps, 10, EXPERIMENTAL,                 \

Relatedly, I'd suggest just removing the "(5)" in this comment in `shenandoahGeneration.cpp`:


  // Changing the size of the generation will reset the times learned for the heuristic. The heuristic will need to
  // relearn collection performance metrics. This also has the effect of preventing further capacity changes from the
  // heuristics until at least ShenandoahLearningSteps(5) number of cycles has completed.
  void increase_capacity(size_t increment);
  void decrease_capacity(size_t decrement);

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

> 182:           "increases the sensitivity. ")                                    \
> 183:                                                                             \
> 184:   product(double, ShenandoahAdaptiveDecayFactor, 0.1, EXPERIMENTAL,         \

Is there performance data to share to inform this change?

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

Marked as reviewed by ysr (Author).

PR: https://git.openjdk.org/shenandoah/pull/209


More information about the shenandoah-dev mailing list