RFR: 8261838: Shenandoah: reconsider heap region iterators memory ordering
Aleksey Shipilev
shade at openjdk.java.net
Tue Feb 16 19:19:00 UTC 2021
We use CASes to distributed workers between regions. 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 seems to be excessive for region distribution code, and "relaxed" is enough, since we don't piggyback memory ordering on these.
This also calls for some refactoring in the code itself.
Additional testing:
- [x] `hotspot_gc_shenandoah`
- [ ] Ad-hoc performance runs
-------------
Commit messages:
- 8261838: Shenandoah: reconsider heap region iterators memory ordering
Changes: https://git.openjdk.java.net/jdk/pull/2593/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2593&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8261838
Stats: 24 lines in 4 files changed: 2 ins; 3 del; 19 mod
Patch: https://git.openjdk.java.net/jdk/pull/2593.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2593/head:pull/2593
PR: https://git.openjdk.java.net/jdk/pull/2593
More information about the hotspot-gc-dev
mailing list