From: Keith Randall Date: Mon, 21 Jul 2025 20:37:27 +0000 (-0700) Subject: runtime: relax TestMemoryLimitNoGCPercent a bit X-Git-Tag: go1.25rc3~5^2~5 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d5ec0815e69175d93bb741e9bb0a55b919facc6d;p=gostls13.git runtime: relax TestMemoryLimitNoGCPercent a bit It seems to be pretty flaky. I've seen: retained=289438024 limit=268435456 bound=285212672 Which is ~4MB over the bound. Not sure why this tends to be darwin-specific, but we'll fix just darwin for now. (It isn't quite darwin-only, as it appeared in #66893. But it is certainly worse on darwin.) Fixes #73136 Update #66893 Change-Id: If609e909bc6c65c2663dd46b7a9bad4fd291c3da Reviewed-on: https://go-review.googlesource.com/c/go/+/689315 Reviewed-by: Keith Randall Reviewed-by: Michael Knyszek LUCI-TryBot-Result: Go LUCI --- diff --git a/src/runtime/testdata/testprog/gc.go b/src/runtime/testdata/testprog/gc.go index 5dc85fbb62..bbe1453401 100644 --- a/src/runtime/testdata/testprog/gc.go +++ b/src/runtime/testdata/testprog/gc.go @@ -395,6 +395,9 @@ func gcMemoryLimit(gcPercent int) { // somewhat heavily here) this bound is kept loose. In practice the Go runtime // should do considerably better than this bound. bound := int64(myLimit + 16<<20) + if runtime.GOOS == "darwin" { + bound += 16 << 20 // Be more lax on Darwin, see issue 73136. + } start := time.Now() for time.Since(start) < 200*time.Millisecond { metrics.Read(m[:])