]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: improve "P has cached GC work" debug info
authorAustin Clements <austin@google.com>
Mon, 19 Nov 2018 15:36:45 +0000 (10:36 -0500)
committerAustin Clements <austin@google.com>
Wed, 21 Nov 2018 16:20:19 +0000 (16:20 +0000)
For #27993.

Change-Id: I20127e8a9844c2c488f38e1ab1f8f5a27a5df03e
Reviewed-on: https://go-review.googlesource.com/c/149968
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/mgc.go

index 2c7dd85b243c2cbfec377b680641b11462b73d3d..d4e5d055ded6feb2741842408b810f16ebf88cc4 100644 (file)
@@ -1934,6 +1934,19 @@ func gcMark(start_time int64) {
 
                gcw := &p.gcw
                if !gcw.empty() {
+                       printlock()
+                       print("runtime: P ", p.id, " flushedWork ", gcw.flushedWork)
+                       if gcw.wbuf1 == nil {
+                               print(" wbuf1=<nil>")
+                       } else {
+                               print(" wbuf1.n=", gcw.wbuf1.nobj)
+                       }
+                       if gcw.wbuf2 == nil {
+                               print(" wbuf2=<nil>")
+                       } else {
+                               print(" wbuf2.n=", gcw.wbuf2.nobj)
+                       }
+                       print("\n")
                        throw("P has cached GC work at end of mark termination")
                }
                // There may still be cached empty buffers, which we