mirror of
https://github.com/golang/go
synced 2024-11-23 17:40:03 -07:00
runtime: update triggerRatio in setGCPercent
Currently, runtime/debug.SetGCPercent does not adjust the controller trigger ratio. As a result, runtime reductions of GOGC don't take full effect until after one more concurrent cycle has happened, which adjusts the trigger ratio to account for the new gcpercent. Fix this by lowering the trigger ratio if necessary in setGCPercent. Change-Id: I4d23e0c58d91939b86ac60fa5d53ef91d0d89e0c Reviewed-on: https://go-review.googlesource.com/17813 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
This commit is contained in:
parent
1e1ea66991
commit
2bacae815b
@ -202,6 +202,9 @@ func setGCPercent(in int32) (out int32) {
|
||||
}
|
||||
gcpercent = in
|
||||
heapminimum = defaultHeapMinimum * uint64(gcpercent) / 100
|
||||
if gcController.triggerRatio > float64(gcpercent)/100 {
|
||||
gcController.triggerRatio = float64(gcpercent) / 100
|
||||
}
|
||||
unlock(&mheap_.lock)
|
||||
return out
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user