RFR: 8323634: Shenandoah: Document behavior of EvacOOM protocol [v3]
Kelvin Nilsen
kdnilsen at openjdk.org
Tue Jan 16 21:19:51 UTC 2024
On Fri, 12 Jan 2024 22:06:34 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Initialize evacuation state
>
> src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp line 70:
>
>> 68: *
>> 69: * 1. If we fail to evacuate the entirety of live memory from all cset regions,
>> 70: * we will transition to STW full gc at the end of the evacuation cycle. Full GC
>
> First it attempts a degenerated cycle. If we don't believe a degenerated oom-during-evac cycle can ever succeed, we should change this behavior.
Is this true? I believe degenerated cycle is unable to recover from OOM during evac. We always have to upgrade to Full GC in this situation. That's because the OOM during Evac protocol has compromised the cset by possibly allowing references to the cset to sneak through the LRB barrier. Hereafter, degen is not sufficient to recover.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17385#discussion_r1454049546
More information about the shenandoah-dev
mailing list