RFR: 8261496: Shenandoah: reconsider pacing updates memory ordering

Zhengyu Gu zgu at openjdk.java.net
Wed Feb 10 15:25:39 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

Looks good to me

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

Marked as reviewed by zgu (Reviewer).

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



More information about the hotspot-gc-dev mailing list