-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P3
-
Affects Version/s: 26
-
Component/s: core-libs
The changes in JDK-8360046 improve the scalability of virtual threads. However it introduces a subtle issue with signal filtering that can lead to starvation issues when there is no other work going on, or at least no virtual threads parking (and thus FJP tasks not completing). There is some SPECjbb2015 runs that have regressed (JDK-8373715). Work on these issues is in progress for main line with JDK-8373118.
The proposal for JDK 26 is:
1. Backout the ForkJoinPool changes inJDK-8360046 but leave:
- the small change to setParallelism to trigger worker activation
- the small change to VirtualThread to submit(ForkJoinTask) consistently
2. Include the acquire fence change fromJDK-8372835 to avoid bringing back this issue into JDK 26.
The proposal for JDK 26 is:
1. Backout the ForkJoinPool changes in
- the small change to setParallelism to trigger worker activation
- the small change to VirtualThread to submit(ForkJoinTask) consistently
2. Include the acquire fence change from
- relates to
-
JDK-8373118 Test java/lang/Thread/virtual/Starvation.java timed out
-
- Open
-
-
JDK-8372835 WorkQueue::push is missing an acquire-fence
-
- Resolved
-
- links to
-
Commit(jdk26)
openjdk/jdk/283da4dd
-
Review(jdk26)
openjdk/jdk/29187