Integrated: 8261496: Shenandoah: reconsider pacing updates memory ordering

Aleksey Shipilev shade at openjdk.java.net
Mon Feb 15 08:45:40 UTC 2021


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

> 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

This pull request has now been integrated.

Changeset: 4642730b
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/4642730b
Stats:     7 lines in 3 files changed: 0 ins; 0 del; 7 mod

8261496: Shenandoah: reconsider pacing updates memory ordering

Reviewed-by: zgu

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

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


More information about the shenandoah-dev mailing list