RFR: 8311883: [Genshen] Adaptive tenuring threshold

Y. Srinivas Ramakrishna ysr at openjdk.org
Thu Jul 27 22:38:38 UTC 2023


On Fri, 14 Jul 2023 02:18:43 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

> I'm thinking we would want to make -XX:+ShenandoahGenerationalAdaptiveTenuring -XX:-ShenandoahGenerationalCensusAtEvac the default behavior in this PR. Since we do not yet have a large community of GenShen production users, are there reasons not to make these the defaults?

Done.

> I've run this through some Extremem workloads. Good news is I see no regressions. On the other hand, I am not yet seeing huge benefit. (I may be seeing a decrease in degenerated cycles, but need to run a few more tests to be sure.)
> 
> One concern is that we are still improperly identifying promotions as mortality. I'm attaching a log with some of my comments preceded by ;; at the start of lines. See line 3421 of the log, for example. IN GC(16), we chose tenure age 2. Then we promoted in place 420 regions. This caused us to believe there was high mortality of ages 3-6, but really there was no mortality and only promotions. In GC(17), we should have stayed with tenure age 2.
> 
> I think the way to fix this is to only scan from 1 to the current tenure age when you select a new tenure age. If there is no mortality at the current tenure age, then we can set the new tenure age to 1 + current tenure age. [auto-tenure.out.txt](https://github.com/openjdk/shenandoah/files/12031253/auto-tenure.out.txt)

Done.

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

PR Comment: https://git.openjdk.org/shenandoah/pull/289#issuecomment-1654669212
PR Comment: https://git.openjdk.org/shenandoah/pull/289#issuecomment-1654669730


More information about the shenandoah-dev mailing list