RFR: 8336707: Contention of ForkJoinPool grows when stealing works [v25]
Viktor Klang
vklang at openjdk.org
Wed Nov 13 08:58:38 UTC 2024
On Tue, 12 Nov 2024 21:48:54 GMT, Doug Lea <dl at openjdk.org> wrote:
>> This addresses tendencies in previous update to increase fencing, scanning, and signalling that can increase contention, and slow down performance especially on ARM platforms. It also uses more ARM-friendly constructions to reduce overhead (leading to several changes that all of the same form),
>
> Doug Lea has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 46 additional commits since the last revision:
>
> - Merge branch 'openjdk:master' into JDK-8336707
> - Improve readbility; tweak runState checks
> - Address review comments
> - Merge remote-tracking branch 'refs/remotes/origin/JDK-8336707' into JDK-8336707
> - Merge branch 'openjdk:master' into JDK-8336707
> - Merge branch 'openjdk:master' into JDK-8336707
> - Reconcile internal docs; renamings
> - Minor improvements
> - Merge branch 'openjdk:master' into JDK-8336707
> - Add CLEANED runState
> - ... and 36 more: https://git.openjdk.org/jdk/compare/20705130...3ea2470c
src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 2617:
> 2615: if (q != null)
> 2616: return q;
> 2617: if (shutdown != 0L)
@DougLea Any benefit of doing this vs `boolean shutdown = (lockRunState() & SHUTDOWN) != 0L` and check `!shutdown` and `shutdown`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21507#discussion_r1839773621
More information about the core-libs-dev
mailing list