aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/debug
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2017-03-31 17:09:41 -0400
committerAustin Clements <austin@google.com>2017-04-21 17:41:53 +0000
commit49a412a5b7f2b7ca6278da199b812bac3c683046 (patch)
treeec2f7a927067cfe78d4e6e49291f3d9d382ac069 /src/runtime/debug
parent9d36163c0b35ddd384534f850fb04170e0d0c7c4 (diff)
downloadgo-49a412a5b7f2b7ca6278da199b812bac3c683046.tar.xz
runtime: rationalize triggerRatio
gcController.triggerRatio is the only field in gcController that persists across cycles. As global mutable state, the places where it written and read are spread out, making it difficult to see that updates and downstream calculations are done correctly. Improve this situation by doing two things: 1) Move triggerRatio to memstats so it lives with the other trigger-related fields and makes gcController entirely transient state. 2) Commit the new trigger ratio during mark termination when we compute other next-cycle controls, including the absolute trigger. This forces us to explicitly thread the new trigger ratio from gcController.endCycle to mark termination, so we're not just pulling it out of global state. Change-Id: I6669932f8039a8c0ef46a3f2a8c537db72e578aa Reviewed-on: https://go-review.googlesource.com/39830 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
Diffstat (limited to 'src/runtime/debug')
0 files changed, 0 insertions, 0 deletions