• Arnaldo Carvalho de Melo's avatar
    perf trace: Exclude the kernel part of the callchain leading to a syscall · 44621819
    Arnaldo Carvalho de Melo authored
    The kernel parts are not that useful:
    
      # trace -m 512 -e nanosleep --call dwarf  usleep 1
         0.065 ( 0.065 ms): usleep/18732 nanosleep(rqtp: 0x7ffc4ee4e200) = 0
                                           syscall_slow_exit_work ([kernel.kallsyms])
                                           do_syscall_64 ([kernel.kallsyms])
                                           return_from_SYSCALL_64 ([kernel.kallsyms])
                                           __nanosleep (/usr/lib64/libc-2.22.so)
                                           usleep (/usr/lib64/libc-2.22.so)
                                           main (/usr/bin/usleep)
                                           __libc_start_main (/usr/lib64/libc-2.22.so)
                                           _start (/usr/bin/usleep)
      #
    
    So lets just use perf_event_attr.exclude_callchain_kernel to avoid
    collecting it in the ring buffer:
    
      # trace -m 512 -e nanosleep --call dwarf  usleep 1
         0.063 ( 0.063 ms): usleep/19212 nanosleep(rqtp: 0x7ffc3df10fb0) = 0
                                           __nanosleep (/usr/lib64/libc-2.22.so)
                                           usleep (/usr/lib64/libc-2.22.so)
                                           main (/usr/bin/usleep)
                                           __libc_start_main (/usr/lib64/libc-2.22.so)
                                           _start (/usr/bin/usleep)
      #
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Milian Wolff <milian.wolff@kdab.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/n/tip-qctu3gqhpim0dfbcp9d86c91@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    44621819
builtin-trace.c 92.8 KB