net/http: reduce mutex contention
benchmark old ns/op new ns/op delta
BenchmarkClientServerParallel 155909 154454 -0.93%
BenchmarkClientServerParallel-2 86012 82986 -3.52%
BenchmarkClientServerParallel-4 70211 55168 -21.43%
BenchmarkClientServerParallel-8 80755 47862 -40.73%
BenchmarkClientServerParallel-12 77753 51478 -33.79%
BenchmarkClientServerParallel-16 77920 50278 -35.47%
The benchmark is https://golang.org/cl/
6441134
The machine is 2 x 4 HT cores (16 HW threads total).
Fixes #3946.
Now contention moves to net.pollServer.AddFD().
R=bradfitz
CC=bradfitz, dave, dsymonds, gobot, golang-dev, remyoudompheng
https://golang.org/cl/
6454142