RFR: 8336707: Contention of ForkJoinPool grows when stealing works [v29]

Doug Lea dl at openjdk.org
Tue Nov 19 19:08:56 UTC 2024


On Tue, 19 Nov 2024 16:10:19 GMT, Viktor Klang <vklang at openjdk.org> wrote:

>> Doug Lea has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Ensure InnocuousForkJoinWorkerThread usable with or without SecurityManager
>
> src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 2053:
> 
>> 2051:                     if (((phase = deactivate(w, phase)) & IDLE) != 0)
>> 2052:                         break;
>> 2053:                     src = -1;
> 
> @DougLea So if I understand this correctly, the setting of `src` to -1 is to differ from `j` on the next loop step (since `j` is bound by bitmask to be positive)?

yes. To be little clearer added:
                    src = -1;                            // re-enable propagation

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21507#discussion_r1848898267


More information about the core-libs-dev mailing list