RFR: 8261500: Shenandoah: reconsider region live data memory ordering

Zhengyu Gu zgu at openjdk.java.net
Wed Feb 10 17:58:39 UTC 2021


On Wed, 10 Feb 2021 10:40:26 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Current Shenandoah region live data tracking uses default CAS updates to achieve atomicity of updates. 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 live data tracking, and "relaxed" could be used instead. The only serious user of that data is collection set chooser, which runs at safepoint and so everything should be quiescent when that happens.
> 
> Additional testing:
>  - [x] Linux x86_64 hotspot_gc_shenandoah
>  - [x] Linux AArch64 hotspot_gc_shenandoah
>  - [x] Linux AArch64 tier1 with Shenandoah

Looks good

-------------

Marked as reviewed by zgu (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/2503



More information about the hotspot-gc-dev mailing list