]> Cypherpunks repositories - gostls13.git/commit
runtime: fix comments on the behavior of SetGCPercent
authorMichael Anthony Knyszek <mknyszek@google.com>
Tue, 7 Dec 2021 05:24:54 +0000 (00:24 -0500)
committerMichael Knyszek <mknyszek@google.com>
Tue, 7 Dec 2021 17:46:04 +0000 (17:46 +0000)
commit4c943abb95578da4bfd70d365814a130da8d5aa2
treee0d4f858b936a0ebc4773b3aa197f14d2835c305
parentdc65c489cc5a795a68d844ed7a45e5d16562401d
runtime: fix comments on the behavior of SetGCPercent

Fixes for #49680, #49695, #45867, and #49370 all assumed that
SetGCPercent(-1) doesn't block until the GC's mark phase is done, but
it actually does. The cause of 3 of those 4 failures comes from the fact
that at the beginning of the sweep phase, the GC does try to preempt
every P once, and this may run concurrently with test code. In the
fourth case, the issue was likely that only *one* of the debug_test.go
tests was missing a call to SetGCPercent(-1). Just to be safe, leave a
TODO there for now to remove the extraneous runtime.GC calls, but leave
the calls in.

Updates #49680, #49695, #45867, and #49370.

Change-Id: Ibf4e64addfba18312526968bcf40f1f5d54eb3f1
Reviewed-on: https://go-review.googlesource.com/c/go/+/369815
Reviewed-by: Austin Clements <austin@google.com>
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
misc/cgo/test/testdata/issue9400_linux.go
src/runtime/debug_test.go
src/runtime/proc_test.go
src/runtime/rwmutex_test.go
src/runtime/testdata/testprog/preempt.go