]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: improve scheduler trace
authorDmitriy Vyukov <dvyukov@google.com>
Fri, 27 Jun 2014 00:16:43 +0000 (17:16 -0700)
committerDmitriy Vyukov <dvyukov@google.com>
Fri, 27 Jun 2014 00:16:43 +0000 (17:16 -0700)
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

src/pkg/runtime/proc.c

index dd98e8ce26a4fe52a4756aa2420253fc443975db..04808f2c5036a04a12bd6c14e6ef68e6c65d3651 100644 (file)
@@ -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.