perf annotate: Add function header to --stdio2
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 864298f224f20fb7b981b05dd0f77315c75eb189 Gitweb: https://git.kernel.org/tip/864298f224f20fb7b981b05dd0f77315c75eb189 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Fri, 16 Mar 2018 15:17:23 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 21 Mar 2018 12:53:41 -0300
perf annotate: Add function header to --stdio2
# perf annotate --stdio2 _raw_spin_lock_irqsave
_raw_spin_lock_irqsave() /lib/modules/4.16.0-rc4/build/vmlinux
Event: anon group { cycles, instructions } 0.00 3.17 → callq __fentry__
0.00 7.94 push %rbx
7.69 36.51 → callq __page_file_index
mov %rax,%rbx
7.69 3.17 → callq *ffffffff82225cd0
xor %eax,%eax
mov $0x1,%edx 80.77 49.21 lock cmpxchg %edx,(%rdi)
test %eax,%eax
↓ jne 2b
3.85 0.00 mov %rbx,%rax
pop %rbx
← retq
2b: mov %eax,%esi
→ callq queued_spin_lock_slowpath
mov %rbx,%rax
pop %rbx
← retq
#
Cc Adrian Hunter <[email protected]>
Cc Andi Kleen <[email protected]>
Cc David Ahern <[email protected]>
Cc Jin Yao <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/annotate.c | 8 ++++++++ 1 file changed, 8 insertions(+)
tools/perf/util/annotate.c +8 -0
@@ -2244,6 +2244,8 @@ int symbol__tty_annotate2(struct symbol *sym, struct map *map,struct dso *dso = map->dso;struct rb_root source_line =RB_ROOT ;struct annotation_options opts = annotation__default_options; +const char *ev_name =perf_evsel__name (evsel); +char buf[1024 ];if (symbol__annotate2 (sym, map, evsel, &opts,NULL ) <0 )return -1 ;
@@ -2254,6 +2256,12 @@ int symbol__tty_annotate2(struct symbol *sym, struct map *map,print_summary (&source_line, dso->long_name); } +if (perf_evsel__is_group_event (evsel)) { +perf_evsel__group_desc (evsel, buf,sizeof (buf)); + ev_name = buf; + } + +fprintf (stdout,"%s() %s\nEvent: %s\n\n" , sym->name, dso->long_name, ev_name);symbol__annotate_fprintf2 (sym, stdout);annotated_source__purge (symbol__annotation (sym)->src);