]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: don't use GOGC in minimum sweep distance
authorAustin Clements <austin@google.com>
Mon, 25 Sep 2017 19:17:28 +0000 (15:17 -0400)
committerAustin Clements <austin@google.com>
Tue, 5 Mar 2019 23:08:16 +0000 (23:08 +0000)
Currently, the minimum sweep distance is 1MB * GOGC/100. It's been
this way since it was introduced in CL 13043 with no justification.

Since there seems to be no good reason to scale the minimum sweep
distance by GOGC, make the minimum sweep distance just 1MB.

Change-Id: I5320574a23c0eec641e346282aab08a3bbb057da
Reviewed-on: https://go-review.googlesource.com/c/go/+/66091
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Rick Hudson <rlh@golang.org>
src/runtime/mgc.go

index 730b64cd198da69b5b603bc679142100644cd35e..023ab2f6ea8d212852db6373f1008c8a9f096124 100644 (file)
@@ -141,7 +141,7 @@ const (
 
        // sweepMinHeapDistance is a lower bound on the heap distance
        // (in bytes) reserved for concurrent sweeping between GC
-       // cycles. This will be scaled by gcpercent/100.
+       // cycles.
        sweepMinHeapDistance = 1024 * 1024
 )
 
@@ -803,7 +803,7 @@ func gcSetTriggerRatio(triggerRatio float64) {
                        // that concurrent sweep has some heap growth
                        // in which to perform sweeping before we
                        // start the next GC cycle.
-                       sweepMin := atomic.Load64(&memstats.heap_live) + sweepMinHeapDistance*uint64(gcpercent)/100
+                       sweepMin := atomic.Load64(&memstats.heap_live) + sweepMinHeapDistance
                        if sweepMin > minTrigger {
                                minTrigger = sweepMin
                        }