• J
    perf stat: Display user and system time · 0ce2da14
    Jiri Olsa 提交于
    Adding the support to read rusage data once the workload is finished and
    display the system/user time values:
    
      $ perf stat --null perf bench sched pipe
      ...
    
       Performance counter stats for 'perf bench sched pipe':
    
           5.342599256 seconds time elapsed
    
           2.544434000 seconds user
           4.549691000 seconds sys
    
    It works only in non -r mode and only for workload target.
    
    So as of now, for workload targets, we display 3 types of timings. The
    time we meassure in perf stat from enable to disable+period:
    
           5.342599256 seconds time elapsed
    
    The time spent in user and system lands, displayed only for workload
    session/target:
    
           2.544434000 seconds user
           4.549691000 seconds sys
    
    Those times are the very same displayed by 'time' tool.  They are
    returned by wait4 call via the getrusage struct interface.
    
    Committer notes:
    
    Had to rename some variables to avoid this on older systems such as
    centos:6:
    
      builtin-stat.c: In function 'print_footer':
      builtin-stat.c:1831: warning: declaration of 'stime' shadows a global declaration
      /usr/include/time.h:297: warning: shadowed declaration is here
    
    Committer testing:
    
      # perf stat --null time perf bench sched pipe
      # Running 'sched/pipe' benchmark:
      # Executed 1000000 pipe operations between two processes
    
           Total time: 5.526 [sec]
    
             5.526534 usecs/op
               180945 ops/sec
      1.00user 6.25system 0:05.52elapsed 131%CPU (0avgtext+0avgdata 8056maxresident)k
      0inputs+0outputs (0major+606minor)pagefaults 0swaps
    
       Performance counter stats for 'time perf bench sched pipe':
    
             5.530978744 seconds time elapsed
    
             1.004037000 seconds user
             6.259937000 seconds sys
    
      #
    Suggested-by: NIngo Molnar <mingo@kernel.org>
    Signed-off-by: NJiri Olsa <jolsa@kernel.org>
    Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20180605121313.31337-1-jolsa@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    0ce2da14
builtin-stat.c 77.0 KB