From: Michael Anthony Knyszek Date: Wed, 28 Feb 2024 22:24:48 +0000 (+0000) Subject: runtime: fix EvFrequency event value on Windows in the new tracer X-Git-Tag: go1.23rc1~952 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=707eba9b941230be1afe809466afa3465ed60fdb;p=gostls13.git 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 --- 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)