perf annotate: __symbol__inc_addr_samples() needs just annotated_source
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: e1a91a834d6e1b6616b76b0ba22e7e11d5592c3b Gitweb: https://git.kernel.org/tip/e1a91a834d6e1b6616b76b0ba22e7e11d5592c3b Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Thu, 24 May 2018 16:28:29 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Mon, 4 Jun 2018 10:28:51 -0300
perf annotate: __symbol__inc_addr_samples() needs just annotated_source
It only operates on the histograms, so no need for the encompassing 'struct annotation'.
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/util/annotate.c | 6 +++--- tools/perf/util/annotate.h | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-)
tools/perf/util/annotate.c +3 -3
@@ -819,7 +819,7 @@ static int __symbol__account_cycles(struct cyc_hist *ch, }static int __symbol__inc_addr_samples (struct symbol *sym,struct map *map, -struct annotation *notes,int evidx,u64 addr, +struct annotated_source *src,int evidx,u64 addr,struct perf_sample *sample) {unsigned offset;
@@ -835,7 +835,7 @@ static int __symbol__inc_addr_samples(struct symbol *sym, struct map *map, } offset = addr - sym->start; - h =annotation__histogram (notes, evidx); + h =annotated_source__histogram (src, evidx); h->nr_samples++; h->addr[offset].nr_samples++; h->period += sample->period;
@@ -874,7 +874,7 @@ static int symbol__inc_addr_samples(struct symbol *sym, struct map *map, notes =symbol__get_annotation (sym, false);if (notes ==NULL )return -ENOMEM ; -return __symbol__inc_addr_samples (sym, map, notes, evsel->idx, addr, sample); +return __symbol__inc_addr_samples (sym, map, notes->src, evsel->idx, addr, sample); } static int symbol__account_cycles(u64 addr, u64 start,
tools/perf/util/annotate.h +6 -2
@@ -267,10 +267,14 @@ void annotation__mark_jump_targets(struct annotation *notes, struct symbol *sym)void annotation__update_column_widths (struct annotation *notes);void annotation__init_column_widths (struct annotation *notes,struct symbol *sym); +static inline struct sym_hist *annotated_source__histogram (struct annotated_source *src,int idx) +{ +return ((void *)src->histograms) + (src->sizeof_sym_hist * idx); +} +static inline struct sym_hist *annotation__histogram (struct annotation *notes,int idx) { -return (((void *)notes->src->histograms) + - (notes->src->sizeof_sym_hist * idx)); +return annotated_source__histogram (notes->src, idx); }static inline struct annotation *symbol__annotation (struct symbol *sym)