]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix scavenge min fraction constant floor division
authorMichael Anthony Knyszek <mknyszek@google.com>
Fri, 23 Apr 2021 22:20:55 +0000 (22:20 +0000)
committerMichael Knyszek <mknyszek@google.com>
Mon, 26 Apr 2021 18:15:31 +0000 (18:15 +0000)
Currently there's a minor bug where the constant for the min fraction of
time spent scavenging is rounded down to zero. I don't think this
affects anything in practice because this case is exceedingly rare and
extreme, but currently it doesn't properly prevent the pacing parameters
from getting out of hand in these extreme cases.

Fixes #44036.

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

src/runtime/mgcscavenge.go

index 7e32348670e281d1a7faf7360544c41c17e6db25..7578129f9d13965eca8cff1456f12caf2a8a147d 100644 (file)
@@ -372,7 +372,7 @@ func bgscavenge() {
                // Due to OS-related anomalies we may "sleep" for an inordinate amount
                // of time. Let's avoid letting the ratio get out of hand by bounding
                // the sleep time we use in our EWMA.
-               const minFraction = 1 / 1000
+               const minFraction = 1.0 / 1000.0
                if fraction < minFraction {
                        fraction = minFraction
                }