]> Cypherpunks repositories - gostls13.git/commit
runtime: scavenge on growth instead of inline with allocation
authorMichael Anthony Knyszek <mknyszek@google.com>
Tue, 25 Jun 2019 19:06:57 +0000 (19:06 +0000)
committerMichael Knyszek <mknyszek@google.com>
Wed, 25 Sep 2019 22:20:36 +0000 (22:20 +0000)
commiteb96f8a57444d174bba500b3a5d2a8b21b7e6d1e
treea7aa47f303c321c955a96e29da433e2ec759f765
parentf18109d7e30c8d1a6e1c87ba3458499ac7ab2a79
runtime: scavenge on growth instead of inline with allocation

Inline scavenging causes significant performance regressions in tail
latency for k8s and has relatively little benefit for RSS footprint.

We disabled inline scavenging in Go 1.12.5 (CL 174102) as well, but
we thought other changes in Go 1.13 had mitigated the issues with
inline scavenging. Apparently we were wrong.

This CL switches back to only doing foreground scavenging on heap
growth, rather than doing it when allocation tries to allocate from
scavenged space.

Fixes #32828.

Change-Id: I1f5df44046091f0b4f89fec73c2cde98bf9448cb
Reviewed-on: https://go-review.googlesource.com/c/go/+/183857
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/runtime/mheap.go