]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: call goready in wakeScavenger instead of ready
authorMichael Anthony Knyszek <mknyszek@google.com>
Mon, 14 Oct 2019 17:33:36 +0000 (17:33 +0000)
committerMichael Knyszek <mknyszek@google.com>
Tue, 15 Oct 2019 17:29:47 +0000 (17:29 +0000)
This changes fixes an oversight in wakeScavenger which would cause ready
to be called off of the system stack. This change makes it so that
wakeScavenger calls goready, which switches to the system stack before
calling ready.

Fixes #34773.

Change-Id: Icb13f180b4d8fdd47c921eac1b896e3dd49e43b3
Reviewed-on: https://go-review.googlesource.com/c/go/+/200999
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/runtime/mgcscavenge.go

index 856f6f9de0341285a9e1592a864102996bf2a709..0273c8d234abf86a9cecc13b8e67bfc8fb07eada 100644 (file)
@@ -233,7 +233,7 @@ func wakeScavenger() {
                // Unpark the goroutine and tell it that there may have been a pacing
                // change.
                scavenge.parked = false
-               ready(scavenge.g, 0, true)
+               goready(scavenge.g, 0)
        }
        unlock(&scavenge.lock)
 }