mirror of
https://github.com/golang/go
synced 2024-11-17 06:14:51 -07:00
runtime/pprof: slow new goroutine launches in test
The goroutine profiler tests include one that launches a steady stream of goroutines. That creates a scheduler busy loop that can prevent forward progress in the rest of the program. Slow down the launches a bit so other goroutines have a chance to run. Fixes #52916 For #52934 Change-Id: I748557201b94918b1fa4960544a51a48d9cacc6b Reviewed-on: https://go-review.googlesource.com/c/go/+/406654 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
parent
ab8d7dd75e
commit
6ec46f4707
@ -1527,6 +1527,10 @@ func TestGoroutineProfileConcurrency(t *testing.T) {
|
||||
SetGoroutineLabels(WithLabels(ctx, Labels(t.Name()+"-churn-i", fmt.Sprint(i))))
|
||||
if i == 0 {
|
||||
ready.Done()
|
||||
} else if i%16 == 0 {
|
||||
// Yield on occasion so this sequence of goroutine launches
|
||||
// doesn't monopolize a P. See issue #52934.
|
||||
runtime.Gosched()
|
||||
}
|
||||
if ctx.Err() == nil {
|
||||
go churn(i + 1)
|
||||
|
Loading…
Reference in New Issue
Block a user