• Ingo Molnar's avatar
    perf stat: Add -d -d and -d -d -d options to show more CPU events · 2cba3ffb
    Ingo Molnar authored
    Print even more detailed statistics if requested via perf stat -d:
    
           -d:          detailed events, L1 and LLC data cache
        -d -d:     more detailed events, dTLB and iTLB events
     -d -d -d:     very detailed events, adding prefetch events
    
    Full output looks like this now:
    
     Performance counter stats for '/home/mingo/hackbench 10' (5 runs):
    
           1703.674707 task-clock                #    8.709 CPUs utilized            ( +-  4.19% )
                49,068 context-switches          #    0.029 M/sec                    ( +- 16.66% )
                 8,303 CPU-migrations            #    0.005 M/sec                    ( +- 24.90% )
                17,397 page-faults               #    0.010 M/sec                    ( +-  0.46% )
         2,345,389,239 cycles                    #    1.377 GHz                      ( +-  4.61% ) [55.90%]
         1,884,503,527 stalled-cycles-frontend   #   80.35% frontend cycles idle     ( +-  5.67% ) [50.39%]
           743,919,737 stalled-cycles-backend    #   31.72% backend  cycles idle     ( +-  8.75% ) [49.91%]
         1,314,416,379 instructions              #    0.56  insns per cycle
                                                 #    1.43  stalled cycles per insn  ( +-  2.53% ) [60.87%]
           272,592,567 branches                  #  160.003 M/sec                    ( +-  1.74% ) [56.56%]
             3,794,846 branch-misses             #    1.39% of all branches          ( +-  6.59% ) [58.50%]
           449,982,778 L1-dcache-loads           #  264.125 M/sec                    ( +-  2.47% ) [49.88%]
            22,404,961 L1-dcache-load-misses     #    4.98% of all L1-dcache hits    ( +-  6.08% ) [55.05%]
             6,204,750 LLC-loads                 #    3.642 M/sec                    ( +-  8.91% ) [43.75%]
             1,837,411 LLC-load-misses           #    1.078 M/sec                    ( +-  7.27% ) [12.07%]
           411,440,421 L1-icache-loads           #  241.502 M/sec                    ( +-  5.60% ) [36.52%]
            27,556,832 L1-icache-load-misses     #   16.175 M/sec                    ( +-  7.46% ) [46.72%]
           464,067,627 dTLB-loads                #  272.392 M/sec                    ( +-  4.46% ) [54.17%]
            10,765,648 dTLB-load-misses          #    6.319 M/sec                    ( +-  3.18% ) [48.68%]
         1,273,080,386 iTLB-loads                #  747.256 M/sec                    ( +-  3.38% ) [47.53%]
               117,481 iTLB-load-misses          #    0.069 M/sec                    ( +- 14.99% ) [47.01%]
             4,590,653 L1-dcache-prefetches      #    2.695 M/sec                    ( +-  4.49% ) [46.19%]
             1,712,660 L1-dcache-prefetch-misses #    1.005 M/sec                    ( +-  3.75% ) [44.82%]
    
            0.195622057  seconds time elapsed  ( +-  6.84% )
    
    Also clean up the attribute construction code to be appending, and factor
    it out into add_default_attributes().
    
    Tweak the coverage percentage printout a bit, so that it's easier to view it
    alongside the +- sttddev colum.
    
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Link: http://lkml.kernel.org/n/tip-to3kgu04449s64062val8b62@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
    2cba3ffb
builtin-stat.c 28 KB