From 73d02735734e1ed1e4d1f5a7c534206596f3903a Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Tue, 18 Jul 2017 11:21:15 -0400 Subject: [PATCH] runtime: move tSweepTerm capture closer to STW tSweepTerm and pauseStart are supposed to be when STW was triggered, but right now they're captured a bit before STW. Move these down to immediately before we trigger STW. Fixes #19590. Change-Id: Icd48a5c4d45c9b36187ff986e4f178b5064556c1 Reviewed-on: https://go-review.googlesource.com/49612 Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/runtime/mgc.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/runtime/mgc.go b/src/runtime/mgc.go index 705fe697bb..111fa781e1 100644 --- a/src/runtime/mgc.go +++ b/src/runtime/mgc.go @@ -1248,13 +1248,13 @@ func gcStart(mode gcMode, trigger gcTrigger) { gcResetMarkState() - now := nanotime() work.stwprocs, work.maxprocs = gcprocs(), gomaxprocs - work.tSweepTerm = now work.heap0 = atomic.Load64(&memstats.heap_live) work.pauseNS = 0 work.mode = mode + now := nanotime() + work.tSweepTerm = now work.pauseStart = now systemstack(stopTheWorldWithSema) // Finish sweep before we start concurrent scan. -- 2.50.0