mirror of https://gitee.com/openkylin/linux.git
perf annotate: Replace symbol__alloc_hists() with symbol__hists()
Its a bit shorter, so ditch the old symbol__alloc_hists() function. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: https://lkml.kernel.org/n/tip-m7tienxk7dijh5ln62yln1m9@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
0693f7588a
commit
14c8dde170
|
@ -123,14 +123,9 @@ static int perf_top__parse_source(struct perf_top *top, struct hist_entry *he)
|
|||
}
|
||||
|
||||
notes = symbol__annotation(sym);
|
||||
if (notes->src != NULL) {
|
||||
pthread_mutex_lock(¬es->lock);
|
||||
goto out_assign;
|
||||
}
|
||||
|
||||
pthread_mutex_lock(¬es->lock);
|
||||
|
||||
if (symbol__alloc_hist(sym) < 0) {
|
||||
if (!symbol__hists(sym, top->evlist->nr_entries)) {
|
||||
pthread_mutex_unlock(¬es->lock);
|
||||
pr_err("Not enough memory for annotating '%s' symbol!\n",
|
||||
sym->name);
|
||||
|
@ -140,7 +135,6 @@ static int perf_top__parse_source(struct perf_top *top, struct hist_entry *he)
|
|||
|
||||
err = symbol__annotate(sym, map, evsel, 0, NULL);
|
||||
if (err == 0) {
|
||||
out_assign:
|
||||
top->sym_filter_entry = he;
|
||||
} else {
|
||||
char msg[BUFSIZ];
|
||||
|
|
|
@ -410,7 +410,7 @@ static bool annotate_browser__callq(struct annotate_browser *browser,
|
|||
notes = symbol__annotation(dl->ops.target.sym);
|
||||
pthread_mutex_lock(¬es->lock);
|
||||
|
||||
if (notes->src == NULL && symbol__alloc_hist(dl->ops.target.sym) < 0) {
|
||||
if (!symbol__hists(dl->ops.target.sym, evsel->evlist->nr_entries)) {
|
||||
pthread_mutex_unlock(¬es->lock);
|
||||
ui__warning("Not enough memory for annotating '%s' symbol!\n",
|
||||
dl->ops.target.sym->name);
|
||||
|
|
|
@ -689,7 +689,7 @@ static struct annotated_source *annotated_source__new(void)
|
|||
return src;
|
||||
}
|
||||
|
||||
static void annotated_source__delete(struct annotated_source *src)
|
||||
static __maybe_unused void annotated_source__delete(struct annotated_source *src)
|
||||
{
|
||||
if (src == NULL)
|
||||
return;
|
||||
|
@ -729,23 +729,6 @@ static int annotated_source__alloc_histograms(struct annotated_source *src,
|
|||
return src->histograms ? 0 : -1;
|
||||
}
|
||||
|
||||
int symbol__alloc_hist(struct symbol *sym)
|
||||
{
|
||||
size_t size = symbol__size(sym);
|
||||
struct annotation *notes = symbol__annotation(sym);
|
||||
|
||||
notes->src = annotated_source__new();
|
||||
if (notes->src == NULL)
|
||||
return -1;
|
||||
|
||||
if (annotated_source__alloc_histograms(notes->src, size, symbol_conf.nr_events) < 0) {
|
||||
annotated_source__delete(notes->src);
|
||||
notes->src = NULL;
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* The cycles histogram is lazily allocated. */
|
||||
static int symbol__alloc_hist_cycles(struct symbol *sym)
|
||||
{
|
||||
|
@ -868,7 +851,7 @@ static struct cyc_hist *symbol__cycles_hist(struct symbol *sym)
|
|||
return notes->src->cycles_hist;
|
||||
}
|
||||
|
||||
static struct annotated_source *symbol__hists(struct symbol *sym, int nr_hists)
|
||||
struct annotated_source *symbol__hists(struct symbol *sym, int nr_hists)
|
||||
{
|
||||
struct annotation *notes = symbol__annotation(sym);
|
||||
|
||||
|
|
|
@ -292,7 +292,7 @@ int addr_map_symbol__account_cycles(struct addr_map_symbol *ams,
|
|||
int hist_entry__inc_addr_samples(struct hist_entry *he, struct perf_sample *sample,
|
||||
struct perf_evsel *evsel, u64 addr);
|
||||
|
||||
int symbol__alloc_hist(struct symbol *sym);
|
||||
struct annotated_source *symbol__hists(struct symbol *sym, int nr_hists);
|
||||
void symbol__annotate_zero_histograms(struct symbol *sym);
|
||||
|
||||
int symbol__annotate(struct symbol *sym, struct map *map,
|
||||
|
|
Loading…
Reference in New Issue