]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: make gcEffectiveGrowthRatio a method on gcControllerState
authorMichael Anthony Knyszek <mknyszek@google.com>
Thu, 1 Apr 2021 19:12:02 +0000 (19:12 +0000)
committerMichael Knyszek <mknyszek@google.com>
Wed, 14 Apr 2021 14:04:06 +0000 (14:04 +0000)
For #44167.

Change-Id: Ie3cf8d2960c843a782ec85426fa73c279adaed64
Reviewed-on: https://go-review.googlesource.com/c/go/+/306605
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
src/runtime/mgcpacer.go

index 6bf3e3f278831e2baf5029e026dd5aae4a33e0d5..9338359de7d7719151489d47329ab9c4286ba8a0 100644 (file)
@@ -471,7 +471,7 @@ func (c *gcControllerState) endCycle(userForced bool) float64 {
        // growth if we had the desired CPU utilization). The
        // difference between this estimate and the GOGC-based goal
        // heap growth is the error.
-       goalGrowthRatio := gcEffectiveGrowthRatio()
+       goalGrowthRatio := c.effectiveGrowthRatio()
        actualGrowthRatio := float64(c.heapLive)/float64(c.heapMarked) - 1
        assistDuration := nanotime() - c.markStartTime
 
@@ -779,7 +779,7 @@ func (c *gcControllerState) commit(triggerRatio float64) {
        gcPaceScavenger()
 }
 
-// gcEffectiveGrowthRatio returns the current effective heap growth
+// effectiveGrowthRatio returns the current effective heap growth
 // ratio (GOGC/100) based on heapMarked from the previous GC and
 // heapGoal for the current GC.
 //
@@ -788,10 +788,10 @@ func (c *gcControllerState) commit(triggerRatio float64) {
 // heapMinimum, this can be higher than gcPercent/100.
 //
 // mheap_.lock must be held or the world must be stopped.
-func gcEffectiveGrowthRatio() float64 {
+func (c *gcControllerState) effectiveGrowthRatio() float64 {
        assertWorldStoppedOrLockHeld(&mheap_.lock)
 
-       egogc := float64(atomic.Load64(&gcController.heapGoal)-gcController.heapMarked) / float64(gcController.heapMarked)
+       egogc := float64(atomic.Load64(&c.heapGoal)-c.heapMarked) / float64(c.heapMarked)
        if egogc < 0 {
                // Shouldn't happen, but just in case.
                egogc = 0