RFR: 8311602 GenShen: Decouple generational mode heuristics [v2]

William Kemper wkemper at openjdk.org
Mon Jul 10 22:46:32 UTC 2023


On Mon, 10 Jul 2023 20:36:32 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> William Kemper has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Remove overzealous assert
>>  - Fix missing imports (windows build failure)
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp line 130:
> 
>> 128: }
>> 129: 
>> 130: void ShenandoahAdaptiveHeuristics::record_success_concurrent(bool abbreviated) {
> 
> Note to self: the abbreviated argument was not present in original single-generation shenandoah code, but this can be introduced with a mainline refactoring effort.

I'll revisit this. I want to re-evaluate the performance benefit of this change. For now, at least, abbreviated cycles are recorded as usual for non-generational modes.

> src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp line 80:
> 
>> 78:   // Flag is set when promotion failure is detected (by gc thread), and cleared when
>> 79:   // old generation collection begins (by control thread).
>> 80:   // TODO: This is set, but never read.
> 
> I vote to remove this.  In current implementation, failure to promote is considered a normal happening, and does not necessarily trigger the start of an old-marking pass, nor expansion of OLD.

Okay, will get rid of it.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/292#discussion_r1258978722
PR Review Comment: https://git.openjdk.org/shenandoah/pull/292#discussion_r1258980944


More information about the shenandoah-dev mailing list