RFR: 8336707: Contention of ForkJoinPool grows when stealing works [v29]
Viktor Klang
vklang at openjdk.org
Tue Nov 19 16:12:52 UTC 2024
On Sun, 17 Nov 2024 15:33:02 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 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)?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21507#discussion_r1848650671
More information about the core-libs-dev
mailing list