On Thu, 17 Aug 2023 15:25:49 GMT, Viktor Klang <[email protected]> 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 45 additional commits 
>> since the last revision:
>> 
>>  - Merge branch 'openjdk:master' into JDK-8288899
>>  - Update @since tags
>>  - resync
>>  - Merge branch 'openjdk:master' into JDK-8288899
>>  - ExecutorService tests
>>  - Merge branch 'openjdk:master' into JDK-8288899
>>  - Rework versioning
>>  - Merge branch 'openjdk:master' into JDK-8288899
>>  - Merge branch 'openjdk:master' into JDK-8288899
>>  - Merge branch 'openjdk:master' into JDK-8288899
>>  - ... and 35 more: https://git.openjdk.org/jdk/compare/cdcc657e...585769c9
>
> src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1823:
> 
>> 1821:                 WorkQueue[] qs; int n;
>> 1822:                 if ((qs = queues) != null && (n = qs.length) > 0) {
>> 1823:                     for (int k = n, m = n - 1;  ; id += 2) {
> 
> @DougLea Might make sense to create a constant each for worker-queue stride 
> and submission-queue stride so it becomes easier to reason about the `2` here.

There seem to be too many variants of queues array traversal loops to do this 
uniformly, but I did add some explanation:

     * alternatives. Other loops over the queues array vary in origin
     * and stride depending on whether they cover only submission
     * (even) or worker (odd) queues or both, and whether they require
     * randomness (in which case cyclically exhaustive strides may be
     * used).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14301#discussion_r1299183118

Reply via email to