diff options
author | Michael Anthony Knyszek <mknyszek@google.com> | 2022-03-02 17:41:49 +0000 |
---|---|---|
committer | Michael Knyszek <mknyszek@google.com> | 2022-03-31 20:03:04 +0000 |
commit | 23756207fb68c34ae15a030319dc31248e21cf45 (patch) | |
tree | a1d6f7ed879ffad2ca1385b77b149274313348b0 /src/runtime/mgcpacer.go | |
parent | f990b0f1e80cf6152219b4d3f9a397899e8d6d40 (diff) | |
download | go-23756207fb68c34ae15a030319dc31248e21cf45.tar.gz go-23756207fb68c34ae15a030319dc31248e21cf45.zip |
runtime: rewrite stale comment about pacer
Change-Id: Ieb8015164526da59b042031234146def06f70a1d
Reviewed-on: https://go-review.googlesource.com/c/go/+/393399
Trust: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/runtime/mgcpacer.go')
-rw-r--r-- | src/runtime/mgcpacer.go | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/runtime/mgcpacer.go b/src/runtime/mgcpacer.go index 7857ee7527..940bc526b4 100644 --- a/src/runtime/mgcpacer.go +++ b/src/runtime/mgcpacer.go @@ -73,15 +73,14 @@ func init() { // when to trigger concurrent garbage collection and how much marking // work to do in mutator assists and background marking. // -// It uses a feedback control algorithm to adjust the gcController.trigger -// trigger based on the heap growth and GC CPU utilization each cycle. -// This algorithm optimizes for heap growth to match GOGC and for CPU -// utilization between assist and background marking to be 25% of +// It calculates the ratio between the allocation rate (in terms of CPU +// time) and the GC scan throughput to determine the heap size at which to +// trigger a GC cycle such that no GC assists are required to finish on time. +// This algorithm thus optimizes GC CPU utilization to the dedicated background +// mark utilization of 25% of GOMAXPROCS by minimizing GC assists. // GOMAXPROCS. The high-level design of this algorithm is documented -// at https://golang.org/s/go15gcpacing. -// -// All fields of gcController are used only during a single mark -// cycle. +// at https://github.com/golang/proposal/blob/master/design/44167-gc-pacer-redesign.md. +// See https://golang.org/s/go15gcpacing for additional historical context. var gcController gcControllerState type gcControllerState struct { |