perf annotate: Pass annotation_options to symbol__annotate()
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 380195e2b07b123fb2cd701bd60e78a31fbf3b25 Gitweb: https://git.kernel.org/tip/380195e2b07b123fb2cd701bd60e78a31fbf3b25 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Mon, 28 May 2018 11:27:40 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Mon, 4 Jun 2018 10:28:53 -0300
perf annotate: Pass annotation_options to symbol__annotate()
Now all callers to symbol__disassemble() can hand it the per-tool annotation_options, which will allow us to remove lots of stuff from symbol_options, the kitchen sink of perf configs, reducing its size and getting annotation specific stuff grouped together.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[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/builtin-top.c | 2 +- tools/perf/ui/gtk/annotate.c | 2 +- tools/perf/util/annotate.c | 7 +++++-- tools/perf/util/annotate.h | 1 + 4 files changed, 8 insertions(+), 4 deletions(-)
tools/perf/builtin-top.c +1 -1
@@ -133,7 +133,7 @@ static int perf_top__parse_source(struct perf_top *top, struct hist_entry *he)return err; } - err =symbol__annotate (sym, map, evsel,0 ,NULL ); + err =symbol__annotate (sym, map, evsel,0 , &top->annotation_opts,NULL );if (err ==0 ) { top->sym_filter_entry = he; }else {
tools/perf/ui/gtk/annotate.c +1 -1
@@ -169,7 +169,7 @@ static int symbol__gtk_annotate(struct symbol *sym, struct map *map,if (map->dso->annotate_warned)return -1 ; - err =symbol__annotate (sym, map, evsel,0 ,NULL ); + err =symbol__annotate (sym, map, evsel,0 , &annotation__default_options,NULL );if (err) {char msg[BUFSIZ ];symbol__strerror_disassemble (sym, map, err, msg,sizeof (msg));
tools/perf/util/annotate.c +5 -2
@@ -1067,6 +1067,7 @@ struct annotate_args {struct arch *arch;struct map_symbol ms;struct perf_evsel *evsel; +struct annotation_options *options;s64 offset;char *line;int line_nr;
@@ -1803,11 +1804,13 @@ void symbol__calc_percent(struct symbol *sym, struct perf_evsel *evsel)int symbol__annotate (struct symbol *sym,struct map *map,struct perf_evsel *evsel,size_t privsize, +struct annotation_options *options,struct arch **parch) {struct annotate_args args = { .privsize = privsize, .evsel = evsel, + .options = options, };struct perf_env *env =perf_evsel__env (evsel);const char *arch_name =perf_env__arch (env);
@@ -2409,7 +2412,7 @@ int symbol__tty_annotate(struct symbol *sym, struct map *map,struct dso *dso = map->dso;struct rb_root source_line =RB_ROOT ; -if (symbol__annotate (sym, map, evsel,0 ,NULL ) <0 ) +if (symbol__annotate (sym, map, evsel,0 , opts,NULL ) <0 )return -1 ;symbol__calc_percent (sym, evsel);
@@ -2655,7 +2658,7 @@ int symbol__annotate2(struct symbol *sym, struct map *map, struct perf_evsel *evif (perf_evsel__is_group_event (evsel)) nr_pcnt = evsel->nr_members; - err =symbol__annotate (sym, map, evsel,0 , parch); + err =symbol__annotate (sym, map, evsel,0 , options, parch);if (err) goto out_free_offsets;
tools/perf/util/annotate.h +1 -0
@@ -306,6 +306,7 @@ void symbol__annotate_zero_histograms(struct symbol *sym);int symbol__annotate (struct symbol *sym,struct map *map,struct perf_evsel *evsel,size_t privsize, +struct annotation_options *options,struct arch **parch); int symbol__annotate2(struct symbol *sym, struct map *map, struct perf_evsel *evsel,