On Mon, 12 Jan 2026 12:44: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 33 additional commits 
>> since the last revision:
>> 
>>  - Merge branch 'openjdk:master' into JDK-8373118
>>  - reunify push; improve contention vs activation vs park balance
>>  - Undo unrelated change
>>  - Re-introduce acquiring array reads; re-arrange to rely on volatile base 
>> index
>>  - Change signalWork fencing; in-progress activation changes
>>  - Merge branch 'openjdk:master' into JDK-8373118
>>  - Split external push
>>  - Undo/redo ordering changes
>>  - Strengthen some orderings
>>  - Merge branch 'openjdk:master' into JDK-8373118
>>  - ... and 23 more: https://git.openjdk.org/jdk/compare/8e9ec950...f42d2475
>
> src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1830:
> 
>> 1828:         int pc = parallelism, i, sp; // rely on caller sync for 
>> initial reads
>> 1829:         long c = U.getLong(this, CTL);
>> 1830:         WorkQueue[] qs = queues;
> 
> If we only read this on entry, doesn't that risk not observing the number of 
> queues growing?

No, see your other comment :-)

> src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1854:
> 
>> 1852:                 break;
>> 1853:             }
>> 1854:             qs = queues;
> 
> Regarding https://github.com/openjdk/jdk/pull/28797/changes#r2682127585 , so 
> we're refresh-reading it here, relying on (at least) the 
> https://github.com/openjdk/jdk/pull/28797/changes#diff-e398beb49cd8d3e6c2f3a8ca8eee97172c57d7f88f3ccd8a3c704632cab32f5fR1844
>  load?

Right. doing iit here also allows qs read and src read to be unordered

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28797#discussion_r2690261219
PR Review Comment: https://git.openjdk.org/jdk/pull/28797#discussion_r2690259920

Reply via email to