RFR: 8350314: Shenandoah: Capture thread state sync times in GC timings [v5]
Xiaolong Peng
xpeng at openjdk.org
Wed Feb 26 07:53:08 UTC 2025
> The change is to improve the observability of Shenandoah GC, basically there are three changes for Shenandoah GC timings in this PR:
>
> 1. Net GC pause timings include the time to propagate GC state to Java threads
> 2. Add new timing "Propagate GC state" in Shenandoah GC timing logs
> 3. Removal of the call of `propagate_gc_state_to_all_threads` from "init_update_refs", which handles gc state in handshake already.
>
> With the change, the new GC timing log will be like:
>
> [11.056s][info][gc,stats ] Concurrent Reset 89 us
> [11.056s][info][gc,stats ] Pause Init Mark (G) 257 us
> [11.056s][info][gc,stats ] Pause Init Mark (N) 17 us
> [11.056s][info][gc,stats ] Update Region States 3 us
> [11.056s][info][gc,stats ] Propagate GC state 1 us
> [11.056s][info][gc,stats ] Concurrent Mark Roots 232 us, parallelism: 1.96x
> [11.056s][info][gc,stats ] CMR: <total> 456 us
> [11.056s][info][gc,stats ] CMR: Thread Roots 429 us, workers (us): 139, 148, 142, ---, ---, ---,
> [11.057s][info][gc,stats ] CMR: VM Strong Roots 11 us, workers (us): 8, 3, 0, ---, ---, ---,
> [11.057s][info][gc,stats ] CMR: CLDG Roots 16 us, workers (us): 16, ---, ---, ---, ---, ---,
> [11.057s][info][gc,stats ] Concurrent Marking 1304 us, parallelism: 2.33x
> [11.057s][info][gc,stats ] CM: <total> 3043 us
> [11.057s][info][gc,stats ] CM: Parallel Mark 3043 us, workers (us): 1023, 1017, 1003, ---, ---, ---,
> [11.057s][info][gc,stats ] Flush SATB 204 us
> [11.057s][info][gc,stats ] Pause Final Mark (G) 865 us
> [11.057s][info][gc,stats ] Pause Final Mark (N) 234 us
> [11.057s][info][gc,stats ] Finish Mark 129 us, parallelism: 0.01x
> [11.057s][info][gc,stats ] Propagate GC state 2 us
> [11.057s][info][gc,stats ] Update Region States 12 us
> [11.057s][info][gc,stats ] Choose Collection Set 25 us
> [11.057s][info][gc,stats ] Rebuild Free Set 29 us
> [11.057s][info][gc,stats ] Concurrent Weak References 67 us, parallelism: 0.25x
> [11.057s][info][gc,stats ] CWRF: <total> 17 us
> [11.057s][info][gc,stats ] CWRF: Weak References 17 us, workers (...
Xiaolong Peng has updated the pull request incrementally with one additional commit since the last revision:
Fix test failure
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23759/files
- new: https://git.openjdk.org/jdk/pull/23759/files/54ae1c0e..30647a9c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23759&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23759&range=03-04
Stats: 6 lines in 2 files changed: 5 ins; 1 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/23759.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23759/head:pull/23759
PR: https://git.openjdk.org/jdk/pull/23759
More information about the shenandoah-dev
mailing list