• Arnaldo Carvalho de Melo's avatar
    perf trace: Allow mixing with other events · 14a052df
    Arnaldo Carvalho de Melo authored
    Basically adopting 'perf record' --event command line argument syntax:
    
     # trace -e \!mprotect,mmap,munmap,open,close,read,fstat,access,arch_prctl --event sched:*switch,sched:*exec,sched:*exit usleep 1
      0.048 (        ): sched:sched_process_exec:filename=/bin/usleep pid=24732 old_pid=24732)
      0.078 (0.002 ms): usleep/24732 brk(                          ) = 0x78f000
      0.430 (0.002 ms): usleep/24732 brk(                          ) = 0x78f000
      0.434 (0.003 ms): usleep/24732 brk(brk: 0x7b0000             ) = 0x7b0000
      0.438 (0.001 ms): usleep/24732 brk(                          ) = 0x7b0000
      0.460 (0.004 ms): usleep/24732 nanosleep(rqtp: 0x7ffff3696a40) ...
      0.460 (        ): sched:sched_switch:prev_comm=usleep prev_pid=24732 prev_prio=120 prev_state=S ==> next_comm=swapper/1 next_pid=0 next_prio=120)
      0.515 (0.058 ms): usleep/24732  ... [continued]: nanosleep()) = 0
      0.520 (0.000 ms): usleep/24732 exit_group(
      0.550 (        ): sched:sched_process_exit:comm=usleep pid=24732 prio=120)
     #
    
    Next steps, probably in this order:
    
    1) Use ordered_events code, the logic in trace needs the events to be
       time ordered when needed, i.e. when multiple CPUs are involved.
    
    2) Callchains!
    
    3) Automatically account for interruptions when saying how long things
       took.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-gpst8mph575yb4wgf91qibyb@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    14a052df
builtin-trace.c 71.3 KB