From: Dmitriy Vyukov Date: Fri, 27 Jun 2014 00:16:43 +0000 (-0700) Subject: runtime: improve scheduler trace X-Git-Tag: go1.4beta1~1210 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a7186dc3035dffef8ac9033966da52e4cc935ef0;p=gostls13.git runtime: improve scheduler trace Output number of spinning threads, this is useful to understanding whether the scheduler is in a steady state or not. R=golang-codereviews, khr CC=golang-codereviews, rsc https://golang.org/cl/103540045 --- diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index dd98e8ce26..04808f2c50 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -2730,12 +2730,12 @@ runtime·schedtrace(bool detailed) starttime = now; runtime·lock(&runtime·sched); - runtime·printf("SCHED %Dms: gomaxprocs=%d idleprocs=%d threads=%d idlethreads=%d runqueue=%d", + runtime·printf("SCHED %Dms: gomaxprocs=%d idleprocs=%d threads=%d spinningthreads=%d idlethreads=%d runqueue=%d", (now-starttime)/1000000, runtime·gomaxprocs, runtime·sched.npidle, runtime·sched.mcount, - runtime·sched.nmidle, runtime·sched.runqsize); + runtime·sched.nmspinning, runtime·sched.nmidle, runtime·sched.runqsize); if(detailed) { - runtime·printf(" gcwaiting=%d nmidlelocked=%d nmspinning=%d stopwait=%d sysmonwait=%d\n", - runtime·sched.gcwaiting, runtime·sched.nmidlelocked, runtime·sched.nmspinning, + runtime·printf(" gcwaiting=%d nmidlelocked=%d stopwait=%d sysmonwait=%d\n", + runtime·sched.gcwaiting, runtime·sched.nmidlelocked, runtime·sched.stopwait, runtime·sched.sysmonwait); } // We must be careful while reading data from P's, M's and G's.