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