-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8322732: ForkJoinPool may underutilize cores in async mode #19131
Conversation
src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java
Outdated
Show resolved
Hide resolved
src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Viktor (mostly) and I have been testing and reviewing these changes at each iteration. I think we are happy with where things are at, significantly very positive in some of the streams/gatherer tests. The Starvation test is the canary to catch a scenario that has been observed along the way, but not with the current version. So I think this is good to integrate.
Seconding @AlanBateman, I've reviewed and provided feedback on this PR multiple times, and have had numerous runs of parallel streams / gatherers and I think this is good to go. If I was a reviewer my vote would matter, but I'm adding this comment here as an "enthusiastic supporter". :) |
/issue JDK-8327854 |
@DougLea |
/integrate |
Going to push as commit 789f704.
Your commit was automatically rebased without conflicts. |
This set of changes address causes of poor utilization with small numbers of cores due to overly aggressive contention avoidance. A number of further adjustments were needed to still avoid most contention effects in deployments with large numbers of cores
Progress
Issues
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/19131/head:pull/19131
$ git checkout pull/19131
Update a local copy of the PR:
$ git checkout pull/19131
$ git pull https://git.openjdk.org/jdk.git pull/19131/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 19131
View PR using the GUI difftool:
$ git pr show -t 19131
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/19131.diff
Webrev
Link to Webrev Comment