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 hotspot-gc-dev mailing list