mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: set HeapGoal to zero when the GC is disabled
When the GC is disabled, the tracer should emit a heap goal of 0. Not setting the heap goal to 0 causes an inaccurate NextGC value to be emmited. Fixes #63864 Change-Id: Iecceaca86c0a43c1cc4d9433f1f9bb736f01ccbc Reviewed-on: https://go-review.googlesource.com/c/go/+/639417 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Michael Pratt <mpratt@google.com>
This commit is contained in:
parent
8cd7f17248
commit
1947c4233a
1 changed files with 3 additions and 1 deletions
|
|
@ -574,7 +574,9 @@ func (tl traceLocker) HeapAlloc(live uint64) {
|
|||
// HeapGoal reads the current heap goal and emits a HeapGoal event.
|
||||
func (tl traceLocker) HeapGoal() {
|
||||
heapGoal := gcController.heapGoal()
|
||||
if heapGoal == ^uint64(0) {
|
||||
// The heapGoal calculations will result in strange numbers if the GC if off. See go.dev/issue/63864.
|
||||
// Check gcPercent before using the heapGoal in the trace.
|
||||
if heapGoal == ^uint64(0) || gcController.gcPercent.Load() < 0 {
|
||||
// Heap-based triggering is disabled.
|
||||
heapGoal = 0
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue