RFR: 8338737: Shenandoah: Reset marking bitmaps after the cycle [v3]

Xiaolong Peng xpeng at openjdk.org
Wed Jan 8 22:58:30 UTC 2025


On Wed, 8 Jan 2025 20:30:38 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> Xiaolong Peng has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 17 additional commits since the last revision:
>> 
>>  - Merge branch 'openjdk:master' into reset-bitmap
>>  - Address review comments
>>  - Merge branch 'openjdk:master' into reset-bitmap
>>  - Remove ShenandoahResetUpdateRegionStateClosure
>>  - Always set_mark_incomplete when reset mark bitmap
>>  - Fix
>>  - Add comments
>>  - fix
>>  - Not reset_mark_bitmap after cycle when  is_concurrent_old_mark_in_progress or is_prepare_for_old_mark_in_progress
>>  - Not invoke set_mark_incomplete when reset bitmap after cycle
>>  - ... and 7 more: https://git.openjdk.org/jdk/compare/099e4ed4...f82fdfaa
>
> src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 242:
> 
>> 240:   // Instead of always reset before collect, some reset can be done after collect to save
>> 241:   // the time before before the cycle so the cycle can be started as soon as possible.
>> 242:   entry_reset_after_collect();
> 
> For comment, I would say: "Instead of always resetting immediately before the start of a new GC, we can often reset at the end of the previous GC.  This allows us to start the next GC cycle more quickly after a trigger condition is detected, reducing the likelihood that GC will degenerate."

I'll update comments, thanks Kelvin!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22778#discussion_r1907947027


More information about the hotspot-gc-dev mailing list