RFR: 8294775: Shenandoah: reduce contention on _threads_in_evac [v3]
Nick Gasson
ngasson at openjdk.org
Mon Nov 14 14:19:52 UTC 2022
> 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.
Nick Gasson has updated the pull request incrementally with one additional commit since the last revision:
Put the * next to the type
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/10573/files
- new: https://git.openjdk.org/jdk/pull/10573/files/14cec5ed..09447b38
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=10573&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=10573&range=01-02
Stats: 11 lines in 3 files changed: 0 ins; 0 del; 11 mod
Patch: https://git.openjdk.org/jdk/pull/10573.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10573/head:pull/10573
PR: https://git.openjdk.org/jdk/pull/10573
More information about the shenandoah-dev
mailing list