diff options
author | Austin Clements <austin@google.com> | 2016-03-01 21:30:26 -0500 |
---|---|---|
committer | Andrew Gerrand <adg@golang.org> | 2016-04-14 05:23:56 +0000 |
commit | 7d5b0e2560fa6796c911f3ffdd465ecb5b3d55da (patch) | |
tree | 23463903cfce62804ef34ba18dc7ef78779abcac | |
parent | af1905781aa7a491b7ed85fff0b7fb0ccd030d2a (diff) | |
download | go-7d5b0e2560fa6796c911f3ffdd465ecb5b3d55da.tar.gz go-7d5b0e2560fa6796c911f3ffdd465ecb5b3d55da.zip |
runtime: disable gcMarkRootCheck debugging check during STW
gcMarkRootCheck takes ~10ns per goroutine. This is just a debugging
check, so disable it (plus, if something is going to go wrong, it's
more likely to go wrong during concurrent mark).
We may be able to re-enable this later, or move it to after we've
started the world again. (But not for 1.6.x.)
For 1.6.x.
Fixes #14419.
name / 95%ile-time/markTerm old new delta
500kIdleGs-12 24.0ms ± 0% 18.9ms ± 6% -21.46% (p=0.000 n=15+20)
Change-Id: Idb2a2b1771449de772c159ef95920d6df1090666
Reviewed-on: https://go-review.googlesource.com/20148
Reviewed-by: Rick Hudson <rlh@golang.org>
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/22044
Reviewed-by: Austin Clements <austin@google.com>
-rw-r--r-- | src/runtime/mgc.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/runtime/mgc.go b/src/runtime/mgc.go index 1b95df9cbe..ab099d8200 100644 --- a/src/runtime/mgc.go +++ b/src/runtime/mgc.go @@ -1560,7 +1560,8 @@ func gcMark(start_time int64) { gcDrain(&gcw, gcDrainBlock) gcw.dispose() - gcMarkRootCheck() + // TODO: Re-enable once this is cheap. + //gcMarkRootCheck() if work.full != 0 { throw("work.full != 0") } |