-
Notifications
You must be signed in to change notification settings - Fork 18k
net/rpc: excessive mutex contention #3947
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
Labels
Comments
Owner changed to @robpike. |
I have a prototype for this: http://golang.org/cl/6461075/diff/10001/src/pkg/net/fd_linux.go It runs significantly better on some workloads and somewhat worser on another (mainly GOMAXPROCS=1 case). It completely eliminates any global mutexes and epoll_ctl() on fast paths. |
You are right, I meant to attach it to a different non-existent issue. The situation with net/rpc may be not that bad. I realized that the benchmark uses a single connection for all requests. That's why it show great contention on the connection. At least we must take into account other cases - several high-throughput connections, a lot of connections with low activity. Perhaps a program that is meant to use a single connection can just use several connections and manual load-balancing to reduce contention. |
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Attachments:
The text was updated successfully, but these errors were encountered: