Integrated: 8261500: Shenandoah: reconsider region live data memory ordering
Aleksey Shipilev
shade at openjdk.java.net
Mon Feb 15 08:47:44 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
This pull request has now been integrated.
Changeset: c6eedda8
Author: Aleksey Shipilev <shade at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/c6eedda8
Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod
8261500: Shenandoah: reconsider region live data memory ordering
Reviewed-by: zgu
-------------
PR: https://git.openjdk.java.net/jdk/pull/2503
More information about the hotspot-gc-dev
mailing list