From: Michael Knyszek Date: Fri, 26 Apr 2019 15:53:44 +0000 (+0000) Subject: Revert "runtime: scavenge memory upon allocating from scavenged memory" X-Git-Tag: go1.12.5~8 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=fd3676302e8436ec9243ae0695582bbb3f31dc3a;p=gostls13.git Revert "runtime: scavenge memory upon allocating from scavenged memory" This reverts commit 8e093e7a1cd8a092f23717cb8f34bca489a3eee5 (CL 159500). Reason for revert: Increases memory allocation latency in certain situations. Fixes #31679. Change-Id: I15e02c53a58009fd907b619b8649de2cdeb29ef0 Reviewed-on: https://go-review.googlesource.com/c/go/+/174102 Run-TryBot: Michael Knyszek Reviewed-by: Austin Clements --- diff --git a/src/runtime/mheap.go b/src/runtime/mheap.go index 47e3a33391..6c0ea1bded 100644 --- a/src/runtime/mheap.go +++ b/src/runtime/mheap.go @@ -1198,16 +1198,6 @@ HaveSpan: // heap_released since we already did so earlier. sysUsed(unsafe.Pointer(s.base()), s.npages<<_PageShift) s.scavenged = false - - // Since we allocated out of a scavenged span, we just - // grew the RSS. Mitigate this by scavenging enough free - // space to make up for it. - // - // Also, scavengeLargest may cause coalescing, so prevent - // coalescing with s by temporarily changing its state. - s.state = mSpanManual - h.scavengeLargest(s.npages * pageSize) - s.state = mSpanFree } s.unusedsince = 0