diff options
author | Austin Clements <austin@google.com> | 2017-07-18 11:21:15 -0400 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2017-07-18 16:13:05 +0000 |
commit | 73d02735734e1ed1e4d1f5a7c534206596f3903a (patch) | |
tree | 9744e723f7eafa11c03ff7bf420bc86b0cf0577b | |
parent | c2c07c798940f484eece7a57af568783f8a02839 (diff) | |
download | go-73d02735734e1ed1e4d1f5a7c534206596f3903a.tar.gz go-73d02735734e1ed1e4d1f5a7c534206596f3903a.zip |
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 <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-rw-r--r-- | src/runtime/mgc.go | 4 |
1 files 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. |