-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
runtime: reduce scheduling contention for large $GOMAXPROCS #2933
Comments
Can't generate html on server box, I attached .pdf Attachments:
|
Try 32 or 48 anyway; see if it helps. The problem is that the scheduler is working very hard to keep at most 16 goroutines running through user space at a time, so as one goroutine goes to sleep reading from a network connection it must wake up another goroutine whose turn it is now to run. If there were less contention (by having more slots) then you wouldn't see all this scheduling activity. Russ |
The scheduler needs some work in this regard. That will happen after Go 1. Labels changed: added priority-later, removed priority-triage. Owner changed to builder@golang.org. Status changed to Accepted. |
Owner changed to @dvyukov. |
Comment 14 by vadim@percona.com: I wonder what is the status of this problem. Will it be fixed in 1.1? Without it I can't use Go for high concurrent workloads. |
Download it and see: https://code.google.com/p/go/downloads/list?can=2&q=go1.1 Much scheduler stuff was changed. |
I am having a similar problem with the latest stable release of go. Each query coming in via a tcp packet command is using around 24% cpu (spikes at the query) then just drops back to 0% after the query. But that is really odd. |
@majimboo please file a new issue with necessary details: what behavior you expect, what behavior you see, go/os/hardware details and reproduction instructions. |
by apachephp:
The text was updated successfully, but these errors were encountered: