aboutsummaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorCarlos Amedee <carlos@golang.org>2025-04-22 13:42:26 -0700
committerGopher Robot <gobot@golang.org>2025-04-22 15:49:52 -0700
commit489917fc400ee25d34dfb06306da3b3cef126963 (patch)
treee614728671703f9d0bcc552980add922acc17852 /src/runtime
parent83b53527fa738ac3364a5f7e4921f2e81f69584e (diff)
downloadgo-489917fc400ee25d34dfb06306da3b3cef126963.tar.xz
Revert "runtime: only poll network from one P at a time in findRunnable"
This reverts commit 352dd2d932c1c1c6dbc3e112fcdfface07d4fffb. Reason for revert: cockroachdb benchmark failing. Likely due to CL 564197. For #73474 Change-Id: Id5d83cd8bb8fe9ee7fddb8dc01f1a01f2d40154e Reviewed-on: https://go-review.googlesource.com/c/go/+/667336 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com> Auto-Submit: Carlos Amedee <carlos@golang.org>
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/proc.go8
-rw-r--r--src/runtime/runtime2.go7
2 files changed, 5 insertions, 10 deletions
diff --git a/src/runtime/proc.go b/src/runtime/proc.go
index 44c6d0b4e4..db7a5b2bb1 100644
--- a/src/runtime/proc.go
+++ b/src/runtime/proc.go
@@ -3387,12 +3387,8 @@ top:
// blocked thread (e.g. it has already returned from netpoll, but does
// not set lastpoll yet), this thread will do blocking netpoll below
// anyway.
- // We only poll from one thread at a time to avoid kernel contention
- // on machines with many cores.
- if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 && sched.pollingNet.Swap(1) == 0 {
- list, delta := netpoll(0)
- sched.pollingNet.Store(0)
- if !list.empty() { // non-blocking
+ if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
+ if list, delta := netpoll(0); !list.empty() { // non-blocking
gp := list.pop()
injectglist(&list)
netpollAdjustWaiters(delta)
diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go
index f7371c450b..05cf345baf 100644
--- a/src/runtime/runtime2.go
+++ b/src/runtime/runtime2.go
@@ -756,10 +756,9 @@ type p struct {
}
type schedt struct {
- goidgen atomic.Uint64
- lastpoll atomic.Int64 // time of last network poll, 0 if currently polling
- pollUntil atomic.Int64 // time to which current poll is sleeping
- pollingNet atomic.Int32 // 1 if some P doing non-blocking network poll
+ goidgen atomic.Uint64
+ lastpoll atomic.Int64 // time of last network poll, 0 if currently polling
+ pollUntil atomic.Int64 // time to which current poll is sleeping
lock mutex