RFR: 8261501: Shenandoah: reconsider heap statistics memory ordering
Aleksey Shipilev
shade at openjdk.java.net
Wed Feb 10 16:14:45 UTC 2021
ShenandoahHeap collects heap-wide statistics (used, committed, etc). It does so by atomically updating them with default CASes. Unfortunately, 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 statistics gathering, and "relaxed" should be just as good.
Additional testing:
- [x] Linux x86_64 hotspot_gc_shenandoah
- [x] Linux AArch64 hotspot_gc_shenandoah
- [x] Linux AArch64 tier1 with Shenandoah
-------------
Commit messages:
- 8261501: Shenandoah: reconsider heap statistics memory ordering
Changes: https://git.openjdk.java.net/jdk/pull/2504/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2504&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8261501
Stats: 9 lines in 1 file changed: 0 ins; 1 del; 8 mod
Patch: https://git.openjdk.java.net/jdk/pull/2504.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2504/head:pull/2504
PR: https://git.openjdk.java.net/jdk/pull/2504
More information about the hotspot-gc-dev
mailing list