RFR: 8360046: Scalability issue when submitting virtual threads with almost empty tasks [v19]

Viktor Klang vklang at openjdk.org
Mon Nov 24 16:17:12 UTC 2025


On Mon, 24 Nov 2025 15:09:40 GMT, Doug Lea <dl at openjdk.org> wrote:

>> This set of updates reduces contention-based performance loss under heavy over-subscription, while also improving perfomance more generally.
>
> 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 29 additional commits since the last revision:
> 
>  - Merge branch 'openjdk:master' into JDK-8360046
>  - Signal on setParallelism
>  - Drop added Contended region; simplify accordingly
>  - Tweaks
>  - Merge branch 'openjdk:master' into JDK-8360046
>  - Seperate repolling policies
>  - Faster quiescent termination
>  - Fix push, refactor deactivate
>  - Use absolute timed waits
>  - Reduce deactivate/reactivate and cancelled timeout rates
>  - ... and 19 more: https://git.openjdk.org/jdk/compare/34194ee8...383f9238

src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 3339:

> 3337:             throw new UnsupportedOperationException("Cannot override System property");
> 3338:         if ((prevSize = getAndSetParallelism(size)) < size)
> 3339:             signalWork(null, 0);

Suggestion:

            signalWork(null, 0); // trigger worker activation

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26479#discussion_r2556901461


More information about the core-libs-dev mailing list