Integrated: 8294775: Shenandoah: reduce contention on _threads_in_evac

Nick Gasson ngasson at openjdk.org
Tue Nov 15 09:34:55 UTC 2022


On Wed, 5 Oct 2022 11:10:29 GMT, Nick Gasson <ngasson at openjdk.org> wrote:

> The idea here is to reduce contention on the shared `_threads_in_evac` counter by splitting its state over multiple independent cache lines. Each thread hashes to one particular counter based on its `Thread*`. This helps improve throughput of concurrent evacuation where many Java threads may be attempting to update this counter on the load barrier slow path.
> 
> See this earlier thread for details and SPECjbb results: https://mail.openjdk.org/pipermail/shenandoah-dev/2022-October/017494.html
> 
> Also tested `hotspot_gc_shenandoah` on x86 and AArch64.

This pull request has now been integrated.

Changeset: 8ab70d3b
Author:    Nick Gasson <ngasson at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/8ab70d3b592db58f47ff538ae0a796237cd29f36
Stats:     181 lines in 4 files changed: 136 ins; 15 del; 30 mod

8294775: Shenandoah: reduce contention on _threads_in_evac

Reviewed-by: rkennke, shade

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

PR: https://git.openjdk.org/jdk/pull/10573


More information about the hotspot-gc-dev mailing list