RFR: 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

RFR: 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering

Aleksey Shipilev-5
JDK-8256298 added the thread iterator for thread roots, and I don't think we need the Hotspot's default memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. The simple "relaxed" should do.

Additional testing:
 - [x] Linux x86_64 hotspot_gc_shenandoah
 - [x] Linux AArch64 hotspot_gc_shenandoah
 - [x] Linux AArch64 tier1 with Shenandoah

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

Commit messages:
 - 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering

Changes: https://git.openjdk.java.net/jdk/pull/2506/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2506&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8261504
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2506.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2506/head:pull/2506

PR: https://git.openjdk.java.net/jdk/pull/2506
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering

Zhengyu Gu-3
On Wed, 10 Feb 2021 12:00:38 GMT, Aleksey Shipilev <[hidden email]> wrote:

> JDK-8256298 added the thread iterator for thread roots, and I don't think we need the Hotspot's default memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. The simple "relaxed" should do.
>
> 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/2506
Reply | Threaded
Open this post in threaded view
|

Integrated: 8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering

Aleksey Shipilev-5
In reply to this post by Aleksey Shipilev-5
On Wed, 10 Feb 2021 12:00:38 GMT, Aleksey Shipilev <[hidden email]> wrote:

> JDK-8256298 added the thread iterator for thread roots, and I don't think we need the Hotspot's default memory_order_conservative, which emits two-way memory fences around the CASes at least on AArch64 and PPC64. The simple "relaxed" should do.
>
> 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: df0897ea
Author:    Aleksey Shipilev <[hidden email]>
URL:       https://git.openjdk.java.net/jdk/commit/df0897ea
Stats:     1 line in 1 file changed: 0 ins; 0 del; 1 mod

8261504: Shenandoah: reconsider ShenandoahJavaThreadsIterator::claim memory ordering

Reviewed-by: zgu

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

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