RFR: 8344050: Shenandoah: Retire GC LABs concurrently
William Kemper
wkemper at openjdk.org
Tue Nov 12 18:11:25 UTC 2024
Test results show a consistent reduction in the time stopped at `init-update-refs` (as expected). Other metrics and benchmark scores are not significantly affected. This change itself does not completely eliminate the safepoint.
Results comparing `-XX:ShenandoahGCMode=satb` to `shenandoah/master` on `aarch64` (results for generational mode and other platforms are similar):
-51.91% sunflow/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.020ms (+/- 0.00ms) 70
Test: 0.013ms (+/- 0.00ms) 20
-50.70% luindex/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.019ms (+/- 0.00ms) 70
Test: 0.013ms (+/- 0.00ms) 20
-50.50% avrora/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.017ms (+/- 0.00ms) 144
Test: 0.012ms (+/- 0.00ms) 42
-49.79% fop/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.022ms (+/- 0.00ms) 572
Test: 0.015ms (+/- 0.00ms) 164
-47.99% batik/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.024ms (+/- 0.01ms) 420
Test: 0.016ms (+/- 0.00ms) 120
-42.54% graphchi/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.020ms (+/- 0.00ms) 70
Test: 0.014ms (+/- 0.00ms) 20
-42.36% xalan/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.017ms (+/- 0.00ms) 213
Test: 0.012ms (+/- 0.00ms) 60
-23.63% scimark.lu.large/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.045ms (+/- 0.00ms) 54
Test: 0.037ms (+/- 0.00ms) 12
-20.66% serial/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.041ms (+/- 0.00ms) 140
Test: 0.034ms (+/- 0.00ms) 40
-20.31% crypto.aes/shenandoahinitupdaterefs_stopped p=0.00000
Control: 0.041ms (+/- 0.00ms) 69
Test: 0.034ms (+/- 0.01ms) 20
-------------
Commit messages:
- Add comments to new method
- Anticipate future work with better names for things
- Fix safepoint worker handling
- Restore gc labs to safepoint workers
- Retire mutator gc labs with handshake
- Retire gc labs concurrently
Changes: https://git.openjdk.org/shenandoah/pull/535/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=535&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8344050
Stats: 101 lines in 3 files changed: 72 ins; 29 del; 0 mod
Patch: https://git.openjdk.org/shenandoah/pull/535.diff
Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/535/head:pull/535
PR: https://git.openjdk.org/shenandoah/pull/535
More information about the shenandoah-dev
mailing list