RFR: 8261496: Shenandoah: reconsider pacing updates memory ordering
Aleksey Shipilev
shade at openjdk.java.net
Wed Feb 10 15:14:47 UTC 2021
Shenandoah pacer uses atomic operations to update budget, progress, allocations seen. Hotspot's default for atomic operations is memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64.
This is excessive for pacing, as we do not piggyback memory effects on it. All pacing updates can use "relaxed".
Additional testing:
- [x] Linux x86_64 hotspot_gc_shenandoah
- [x] Linux AArch64 hotspot_gc_shenandoah
- [x] Linux AArch64 tier1 with Shenandoah
-------------
Commit messages:
- 8261496: Shenandoah: reconsider pacing updates memory ordering
Changes: https://git.openjdk.java.net/jdk/pull/2501/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2501&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8261496
Stats: 7 lines in 3 files changed: 0 ins; 0 del; 7 mod
Patch: https://git.openjdk.java.net/jdk/pull/2501.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2501/head:pull/2501
PR: https://git.openjdk.java.net/jdk/pull/2501
More information about the shenandoah-dev
mailing list