RFR: 8350314: Shenandoah: Capture thread state sync times in GC timings [v2]

Xiaolong Peng xpeng at openjdk.org
Wed Feb 26 00:05:03 UTC 2025


On Tue, 25 Feb 2025 23:46:49 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 1081:
>> 
>>> 1079:     heap->pacer()->setup_for_update_refs();
>>> 1080:   }
>>> 1081:   {
>> 
>> This one isn't necessary. This safepoint only happens when the pacer or the verifier is enabled. We moved init update ref gc state propagation into a handshake (see `ShenandoahHeap::concurrent_prepare_for_update_refs`). Sorry, I should have caught this in my first review.
>
> I'm also currently working on removing the `final_roots` safepoint and fixing up the phase timings for the newish concurrent init update refs phase.

Sorry I should have read the code in `op_init_update_refs`, it doesn't change GC state, we can remove the the `propagate_gc_state_to_all_threads` to clean up code a little bit after you replaced the init_update_refs pause with handshake.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23759#discussion_r1970706937


More information about the hotspot-gc-dev mailing list