• Adrian Hunter's avatar
    perf intel-pt: Add support for synthesizing branch stacks for regular events · f0a0251c
    Adrian Hunter authored
    Use the new thread_stack__br_sample_late() function to create a thread
    stack for regular events.
    
    Example:
    
     # perf record --kcore --aux-sample -e '{intel_pt//,cycles:ppp}' -c 10000 uname
     Linux
     [ perf record: Woken up 2 times to write data ]
     [ perf record: Captured and wrote 0.743 MB perf.data ]
     # perf report --itrace=Le --stdio | head -30 | tail -18
    
     # Samples: 11K of event 'cycles:ppp'
     # Event count (approx.): 11648
     #
     # Overhead  Command  Source Shared Object  Source Symbol                 Target Symbol                 Basic Block Cycles
     # ........  .......  ....................  ............................  ............................  ..................
     #
          5.49%  uname    libc-2.30.so          [.] _dl_addr                  [.] _dl_addr                  -
          2.41%  uname    ld-2.30.so            [.] _dl_relocate_object       [.] _dl_relocate_object       -
          2.31%  uname    ld-2.30.so            [.] do_lookup_x               [.] do_lookup_x               -
          2.17%  uname    [kernel.kallsyms]     [k] unmap_page_range          [k] unmap_page_range          -
          2.05%  uname    ld-2.30.so            [k] _dl_start                 [k] _dl_start                 -
          1.97%  uname    ld-2.30.so            [.] _dl_lookup_symbol_x       [.] _dl_lookup_symbol_x       -
          1.94%  uname    [kernel.kallsyms]     [k] filemap_map_pages         [k] filemap_map_pages         -
          1.60%  uname    [kernel.kallsyms]     [k] __handle_mm_fault         [k] __handle_mm_fault         -
          1.44%  uname    [kernel.kallsyms]     [k] page_add_file_rmap        [k] page_add_file_rmap        -
          1.12%  uname    [kernel.kallsyms]     [k] vma_interval_tree_insert  [k] vma_interval_tree_insert  -
          0.94%  uname    [kernel.kallsyms]     [k] perf_iterate_ctx          [k] perf_iterate_ctx          -
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Link: http://lore.kernel.org/lkml/20200429150751.12570-8-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    f0a0251c
intel-pt.c 84.6 KB