• Jin Yao's avatar
    perf stat: Turn off summary for interval mode by default · ee6a9614
    Jin Yao authored
    There's a risk that outputting interval mode summaries by default breaks
    CSV consumers. It already broke pmu-tools/toplev.
    
    So now we turn off the summary by default but we create a new option
    '--summary' to enable the summary. This is active even when not using
    CSV mode.
    
    Before:
    
      root@kbl-ppc:~# perf stat -I1000 --interval-count 2
      #           time             counts unit events
           1.000265904           8,005.73 msec cpu-clock                 #    8.006 CPUs utilized
           1.000265904                601      context-switches          #    0.075 K/sec
           1.000265904                 10      cpu-migrations            #    0.001 K/sec
           1.000265904                  0      page-faults               #    0.000 K/sec
           1.000265904         66,746,521      cycles                    #    0.008 GHz
           1.000265904         71,874,398      instructions              #    1.08  insn per cycle
           1.000265904         13,356,781      branches                  #    1.668 M/sec
           1.000265904            298,756      branch-misses             #    2.24% of all branches
           2.001857667           8,012.52 msec cpu-clock                 #    8.013 CPUs utilized
           2.001857667                164      context-switches          #    0.020 K/sec
           2.001857667                 10      cpu-migrations            #    0.001 K/sec
           2.001857667                  2      page-faults               #    0.000 K/sec
           2.001857667          5,822,188      cycles                    #    0.001 GHz
           2.001857667          2,186,170      instructions              #    0.38  insn per cycle
           2.001857667            442,378      branches                  #    0.055 M/sec
           2.001857667             44,750      branch-misses             #   10.12% of all branches
    
       Performance counter stats for 'system wide':
    
               16,018.25 msec cpu-clock                 #    7.993 CPUs utilized
                     765      context-switches          #    0.048 K/sec
                      20      cpu-migrations            #    0.001 K/sec
                       2      page-faults               #    0.000 K/sec
              72,568,709      cycles                    #    0.005 GHz
              74,060,568      instructions              #    1.02  insn per cycle
              13,799,159      branches                  #    0.861 M/sec
                 343,506      branch-misses             #    2.49% of all branches
    
             2.004118489 seconds time elapsed
    
    After:
    
      root@kbl-ppc:~# perf stat -I1000 --interval-count 2
      #           time             counts unit events
           1.001336393           8,013.28 msec cpu-clock                 #    8.013 CPUs utilized
           1.001336393                 82      context-switches          #    0.010 K/sec
           1.001336393                  8      cpu-migrations            #    0.001 K/sec
           1.001336393                  0      page-faults               #    0.000 K/sec
           1.001336393          4,199,121      cycles                    #    0.001 GHz
           1.001336393          1,373,991      instructions              #    0.33  insn per cycle
           1.001336393            270,681      branches                  #    0.034 M/sec
           1.001336393             31,659      branch-misses             #   11.70% of all branches
           2.003905006           8,020.52 msec cpu-clock                 #    8.021 CPUs utilized
           2.003905006                184      context-switches          #    0.023 K/sec
           2.003905006                  8      cpu-migrations            #    0.001 K/sec
           2.003905006                  2      page-faults               #    0.000 K/sec
           2.003905006          5,446,190      cycles                    #    0.001 GHz
           2.003905006          2,312,547      instructions              #    0.42  insn per cycle
           2.003905006            451,691      branches                  #    0.056 M/sec
           2.003905006             37,925      branch-misses             #    8.40% of all branches
    
      root@kbl-ppc:~# perf stat -I1000 --interval-count 2 --summary
      #           time             counts unit events
           1.001313128           8,013.20 msec cpu-clock                 #    8.013 CPUs utilized
           1.001313128                 83      context-switches          #    0.010 K/sec
           1.001313128                  8      cpu-migrations            #    0.001 K/sec
           1.001313128                  0      page-faults               #    0.000 K/sec
           1.001313128          4,470,950      cycles                    #    0.001 GHz
           1.001313128          1,440,045      instructions              #    0.32  insn per cycle
           1.001313128            283,222      branches                  #    0.035 M/sec
           1.001313128             33,576      branch-misses             #   11.86% of all branches
           2.003857385           8,020.34 msec cpu-clock                 #    8.020 CPUs utilized
           2.003857385                154      context-switches          #    0.019 K/sec
           2.003857385                  8      cpu-migrations            #    0.001 K/sec
           2.003857385                  2      page-faults               #    0.000 K/sec
           2.003857385          4,515,676      cycles                    #    0.001 GHz
           2.003857385          2,180,449      instructions              #    0.48  insn per cycle
           2.003857385            435,254      branches                  #    0.054 M/sec
           2.003857385             31,179      branch-misses             #    7.16% of all branches
    
       Performance counter stats for 'system wide':
    
               16,033.53 msec cpu-clock                 #    7.992 CPUs utilized
                     237      context-switches          #    0.015 K/sec
                      16      cpu-migrations            #    0.001 K/sec
                       2      page-faults               #    0.000 K/sec
               8,986,626      cycles                    #    0.001 GHz
               3,620,494      instructions              #    0.40  insn per cycle
                 718,476      branches                  #    0.045 M/sec
                  64,755      branch-misses             #    9.01% of all branches
    
             2.006124542 seconds time elapsed
    
    Fixes: c7e5b328 ("perf stat: Report summary for interval mode")
    Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20200903010113.32232-1-yao.jin@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    ee6a9614
builtin-stat.c 63.8 KB