From 707eba9b941230be1afe809466afa3465ed60fdb Mon Sep 17 00:00:00 2001 From: Michael Anthony Knyszek Date: Wed, 28 Feb 2024 22:24:48 +0000 Subject: [PATCH] runtime: fix EvFrequency event value on Windows in the new tracer The value produced for the EvFrequency event on Windows is missing the fact that the cputicks clock gets divided. This results in durations that are consistently wrong by the same factor (about 256). Fixes #65997. Change-Id: I930cbfce3499d435c20699f41c11e3227d84f911 Reviewed-on: https://go-review.googlesource.com/c/go/+/567937 LUCI-TryBot-Result: Go LUCI Auto-Submit: Michael Knyszek Reviewed-by: Michael Pratt --- src/runtime/trace2time.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/trace2time.go b/src/runtime/trace2time.go index 8a4499ef61..7a7a53e7d8 100644 --- a/src/runtime/trace2time.go +++ b/src/runtime/trace2time.go @@ -61,7 +61,7 @@ func traceClockNow() traceTime { func traceClockUnitsPerSecond() uint64 { if osHasLowResClock { // We're using cputicks as our clock, so we need a real estimate. - return uint64(ticksPerSecond()) + return uint64(ticksPerSecond() / traceTimeDiv) } // Our clock is nanotime, so it's just the constant time division. // (trace clock units / nanoseconds) * (1e9 nanoseconds / 1 second) -- 2.48.1