From f22d37d574836ed4f1b42e283dda55dbd4d80aca Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Mon, 1 Dec 2025 15:47:33 -0500 Subject: [PATCH] runtime/internal/testprog: log initial SchedMetrics GOMAXPROCS For #76613. Change-Id: I6a6a636ccf28676b9cd1f820bbe42c2f3e974fee Reviewed-on: https://go-review.googlesource.com/c/go/+/725660 Reviewed-by: Michael Knyszek LUCI-TryBot-Result: Go LUCI Auto-Submit: Michael Pratt --- src/runtime/testdata/testprog/schedmetrics.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/runtime/testdata/testprog/schedmetrics.go b/src/runtime/testdata/testprog/schedmetrics.go index bc0906330f..8e8abc4484 100644 --- a/src/runtime/testdata/testprog/schedmetrics.go +++ b/src/runtime/testdata/testprog/schedmetrics.go @@ -72,6 +72,9 @@ func SchedMetrics() { } } + initialGMP := runtime.GOMAXPROCS(-1) + logf("Initial GOMAXPROCS=%d", initialGMP) + // generalSlack is the amount of goroutines we allow ourselves to be // off by in any given category, either due to background system // goroutines. This excludes GC goroutines. @@ -80,7 +83,7 @@ func SchedMetrics() { // waitingSlack is the max number of blocked goroutines controlled // by the runtime that we'll allow for. This includes GC goroutines // as well as finalizer and cleanup goroutines. - waitingSlack := generalSlack + uint64(2*runtime.GOMAXPROCS(-1)) + waitingSlack := generalSlack + uint64(2*initialGMP) // threadsSlack is the maximum number of threads left over // from the runtime (sysmon, the template thread, etc.) -- 2.52.0