RFR: 8338737: Shenandoah: Reset marking bitmaps after the cycle
Xiaolong Peng
xpeng at openjdk.org
Sat Dec 21 01:50:42 UTC 2024
On Sat, 21 Dec 2024 00:26:40 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Not really, if old marking is in progress, but current cycle is not bootstrap cycle, it means previous old collection has been cancelled to deal with allocation failure, control thread will try to resume old collection agin which will resume old marking again.
>
> The old cycle may be preempted by young collections, but it is only really _cancelled_ by global cycles or full GCs. Control thread will resume old marking, but this operates independently from young bitmap regions. I think we can reset young region bitmaps even when concurrent old marking is on going.
I think we are taking about the same thing, old gen could be preempted by young gc and resumed after the cycle. I have seem crash from caused by this, an old gc was bootstrapped but it was preempted/canceled multiple times right after the old gc started, eventually caused a crash from verifier because it expected the object in young is marked. I will share the gc log on slack later.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22778#discussion_r1894532058
More information about the shenandoah-dev
mailing list