]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: clarify GC fractional mode description
authorzhengjianxun <zhuimengshaonian04@gmail.com>
Tue, 23 Feb 2021 03:12:56 +0000 (03:12 +0000)
committerAustin Clements <austin@google.com>
Tue, 23 Feb 2021 19:57:11 +0000 (19:57 +0000)
nowdays, in runtime/mgc.go,we can see the comment descrition : The fractional worker is necessary when GOMAXPROCS*gcBackgroundUtilization is not an integer.
but it not true such as GOMAXPROCS=5.
in the implemet of startCycle() , Fractional Mode happend only when
GOMAXPROCS<=3 or GOMAXPROCS=6. so utilization can closest to 25%.
Fixes #44380

Change-Id: Id0dd6d9f37759c2c9231f164a013a014216dd442
GitHub-Last-Rev: 5910e76324b2fa908235c325c8b1edafca496256
GitHub-Pull-Request: golang/go#44381
Reviewed-on: https://go-review.googlesource.com/c/go/+/293630
Reviewed-by: Austin Clements <austin@google.com>
Trust: Michael Pratt <mpratt@google.com>

src/runtime/mgc.go

index 185d3201ca24d3b271a2dde50176bb25cb3fa113..7c7239beb8da007aa2acd11e7eec0770ca06f625 100644 (file)
@@ -302,9 +302,11 @@ const (
        // gcMarkWorkerFractionalMode indicates that a P is currently
        // running the "fractional" mark worker. The fractional worker
        // is necessary when GOMAXPROCS*gcBackgroundUtilization is not
-       // an integer. The fractional worker should run until it is
-       // preempted and will be scheduled to pick up the fractional
-       // part of GOMAXPROCS*gcBackgroundUtilization.
+       // an integer and using only dedicated workers would result in
+       // utilization too far from the target of gcBackgroundUtilization.
+       // The fractional worker should run until it is preempted and
+       // will be scheduled to pick up the fractional part of
+       // GOMAXPROCS*gcBackgroundUtilization.
        gcMarkWorkerFractionalMode
 
        // gcMarkWorkerIdleMode indicates that a P is running the mark