aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/export_test.go
diff options
context:
space:
mode:
authorMichael Anthony Knyszek <mknyszek@google.com>2022-03-24 18:06:47 +0000
committerMichael Knyszek <mknyszek@google.com>2022-04-26 22:09:56 +0000
commitd8cf2243e0ed1c498ed405432c10f9596815a582 (patch)
tree232932540973750ad335a8c65d606e068722460e /src/runtime/export_test.go
parent13b18ec947c9589b47f058d7e7b95e60fcdb3fc9 (diff)
downloadgo-d8cf2243e0ed1c498ed405432c10f9596815a582.tar.gz
go-d8cf2243e0ed1c498ed405432c10f9596815a582.zip
runtime: disable idle mark workers with at least one dedicated worker
This change completes the proposal laid out in #44163. With #44313 resolved, we now ensure that stopped Ms are able to wake up and become dedicated GC workers. As a result, idle GC workers are in theory no longer required to be a proxy for scheduling dedicated mark workers. And, with at least one dedicated mark worker running (which is non-preemptible) we ensure the GC makes progress in all circumstances when at least one is running. Currently we ensure at least one idle mark worker is available at all times because it's possible before #44313 that a dedicated worker doesn't ever get scheduled, leading to a deadlock if user goroutines block on a GC completing. But now that extra idle mark worker should be unnecessary to ensure GC progress when at least one dedicated mark worker is going to be scheduled. Fixes #44163. Change-Id: I62889ef2db4e69d44da883e8e6eebcfe5398c86d Reviewed-on: https://go-review.googlesource.com/c/go/+/395634 Reviewed-by: Michael Pratt <mpratt@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/runtime/export_test.go')
0 files changed, 0 insertions, 0 deletions