RFR: 8336707: Contention of ForkJoinPool grows when stealing works
Viktor Klang
vklang at openjdk.org
Fri Oct 18 12:51:09 UTC 2024
On Fri, 18 Oct 2024 12:32:21 GMT, Doug Lea <dl at openjdk.org> wrote:
>> src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1287:
>>
>>> 1285: if (!internal)
>>> 1286: unlockPhase();
>>> 1287: if ((room == 0 || U.getReference(a, pk) == null) && pool != null)
>>
>> We used to look at `- 2` but now we look at `- 1`, perhaps that could account for stalls?
>
> Well, the interplay of signal rules in push, runWorker, and deactivate lead to under/over signalling, scanning, contention. I'm about to commit a different tactic.
Ok, staying tuned!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21507#discussion_r1806440304
More information about the core-libs-dev
mailing list