RFR: 8353115: GenShen: mixed evacuation candidate regions need accurate live_data [v7]

Kelvin Nilsen kdnilsen at openjdk.org
Mon Apr 14 16:40:47 UTC 2025


On Wed, 9 Apr 2025 18:21:43 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> Not sure about performance impact, other than implementing and testing...
>
> i suspect performance impact is minimal.

I've committed changes that endeavor to implement the suggested refactor.  Performance impact does appear to be minimal.  This broader refactoring does change behavior slightly.  In particular:

1. We now have a better understanding of live-memory evacuated during mixed evacuations.  This allows the selection of old-candidates for mixed evacuations to be more conservative.  We'll have fewer old regions in order to honor the intended budget.
2. Potentially, this will result in more mixed evacuations, but each mixed evacuation should take less time.
3. There should be no impact on behavior of traditional Shenandoah.

On one recently completed test run, we observed the following impacts compared to tip:
Shenandoah
-------------------------------------------------------------------------------------------------------
+80.69% specjbb2015/trigger_failure p=0.00000
  Control:     58.250   (+/- 13.48  )        110
  Test:       105.250   (+/- 33.13  )         30


Genshen
-------------------------------------------------------------------------------------------------------
-19.46% jme/context_switch_count p=0.00176
  Control:    117.420   (+/- 28.01  )        108
  Test:        98.292   (+/- 32.76  )         30

Perhaps we need more data to decide whether this is "significant".

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24319#discussion_r2042510606


More information about the hotspot-gc-dev mailing list