]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: note about improved _Gscan bit handling
authorAustin Clements <austin@google.com>
Wed, 3 Apr 2019 20:32:42 +0000 (16:32 -0400)
committerAustin Clements <austin@google.com>
Thu, 11 Apr 2019 20:38:20 +0000 (20:38 +0000)
Change-Id: I8de5aa64a24e77e0ef876918fcace7668769ebc2
Reviewed-on: https://go-review.googlesource.com/c/go/+/171022
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/runtime/runtime2.go

index cfea1cd45feaafec25ca0b27cfa233ef1ddc4c38..8d749f3d7c9b95319eb8b7b2bb605a4d55e9824c 100644 (file)
@@ -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.