aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2015-07-21 11:38:14 -0400
committerAustin Clements <austin@google.com>2015-07-27 17:45:28 +0000
commit7eeeae2a5cc5087347c2fcdfc9731c87143dab4a (patch)
treeb4311fca5ece779b41b9d230f338a4383a9ba3ab /src
parentcc6ed285e58be9c3c16ab2f2bc34d61687dfc3ff (diff)
downloadgo-7eeeae2a5cc5087347c2fcdfc9731c87143dab4a.tar.xz
runtime: always report starting heap size in gctrace
Currently the gctrace output reports the trigger heap size, rather than the actual heap size at the beginning of GC. Often these are the same, or at least very close. However, it's possible for the heap to already have exceeded this trigger when we first check the trigger and start GC; in this case, this output is very misleading. We've encountered this confusion a few times when debugging and this behavior is difficult to document succinctly. Change the gctrace output to report the actual heap size when GC starts, rather than the trigger. Change-Id: I246b3ccae4c4c7ea44c012e70d24a46878d7601f Reviewed-on: https://go-review.googlesource.com/12452 Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/runtime/mgc.go9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/runtime/mgc.go b/src/runtime/mgc.go
index 8731dd8511..889abfbbc9 100644
--- a/src/runtime/mgc.go
+++ b/src/runtime/mgc.go
@@ -884,14 +884,7 @@ func gc(mode int) {
if debug.gctrace > 0 {
stwprocs, maxprocs = gcprocs(), gomaxprocs
tSweepTerm = now
- if mode == gcBackgroundMode {
- // We started GC when heap_live == next_gc,
- // but the mutator may have allocated between
- // then and now. Report heap when GC started.
- heap0 = memstats.next_gc
- } else {
- heap0 = memstats.heap_live
- }
+ heap0 = memstats.heap_live
}
pauseStart = now