From: Austin Clements Date: Wed, 3 Apr 2019 20:32:42 +0000 (-0400) Subject: runtime: note about improved _Gscan bit handling X-Git-Tag: go1.13beta1~730 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0188cb0e8a7a2355a0eebbf557fc444e5bfa30de;p=gostls13.git runtime: note about improved _Gscan bit handling Change-Id: I8de5aa64a24e77e0ef876918fcace7668769ebc2 Reviewed-on: https://go-review.googlesource.com/c/go/+/171022 Reviewed-by: Michael Knyszek --- diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go index cfea1cd45f..8d749f3d7c 100644 --- a/src/runtime/runtime2.go +++ b/src/runtime/runtime2.go @@ -22,6 +22,13 @@ const ( // If you add to this list, add to the list // of "okay during garbage collection" status // in mgcmark.go too. + // + // TODO(austin): The _Gscan bit could be much lighter-weight. + // For example, we could choose not to run _Gscanrunnable + // goroutines found in the run queue, rather than CAS-looping + // until they become _Grunnable. And transitions like + // _Gscanwaiting -> _Gscanrunnable are actually okay because + // they don't affect stack ownership. // _Gidle means this goroutine was just allocated and has not // yet been initialized.