]> Cypherpunks repositories - gostls13.git/commit
runtime: revert to using the precomputed trigger for pacer calculations
authorMichael Anthony Knyszek <mknyszek@google.com>
Thu, 14 Jul 2022 21:19:37 +0000 (21:19 +0000)
committerMichael Knyszek <mknyszek@google.com>
Tue, 19 Jul 2022 14:36:58 +0000 (14:36 +0000)
commit85a482fc244f6f118b1d063063a51eb8b0feadd8
tree1c8cc11af18cc7e0e1f2da9d9ab1ded2c298afac
parentae7340ab68bf57c5d1485bee2c6725a780212a9a
runtime: revert to using the precomputed trigger for pacer calculations

Issue #53738 describes in detail how switching to using the actual
trigger point over the precomputed trigger causes a memory regression,
that arises from the fact that the PI controller in front of the
cons/mark ratio has a long time constant (for overdamping), so it
retains a long history of inputs.

This change, for the Go 1.19 cycle, just reverts to using the
precomputed trigger because it's safer, but in the future we should
consider moving away from such a history-sensitive smoothing function.

See the big comment in the diff and #53738 for more details.

Performance difference vs. 1.18 after this change:
https://perf.golang.org/search?q=upload:20220714.15

Fixes #53738.

Change-Id: I636993a730a3eaed25da2a2719860431b296c6f9
Reviewed-on: https://go-review.googlesource.com/c/go/+/417557
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
src/runtime/mgcpacer.go