RFR: 8322732: ForkJoinPool may underutilize cores in async mode [v7]
Doug Lea
dl at openjdk.org
Wed May 29 16:58:08 UTC 2024
On Wed, 29 May 2024 14:09:51 GMT, Viktor Klang <vklang at openjdk.org> wrote:
>> 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 41 additional commits since the last revision:
>>
>> - Merge branch 'openjdk:master' into JDK-8322732
>> - Add test for utilization with interdependent tasks
>> - Un-misplace onSpinWait call
>> - Adjust control flow
>> - Reduce memory stalls
>> - Merge branch 'openjdk:master' into JDK-8322732
>> - More performance tradoffs
>> - Address review comments
>> - Merge branch 'openjdk:master' into JDK-8322732
>> - Repack some fields; adjust control flow
>> - ... and 31 more: https://git.openjdk.org/jdk/compare/ae4752d2...cf5fe55c
>
> src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1969:
>
>> 1967: else if ((e & SHUTDOWN) == 0)
>> 1968: return 0;
>> 1969: else if (compareAndSetCtl(c, c) && casRunState(e, e | STOP))
>
> is the `compareAndSetCtl(c, c)` needed for the read+write fence if ctl == c?
yes.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19131#discussion_r1619209374
More information about the core-libs-dev
mailing list