From: Namhyung Kim Date: Sat, 3 Aug 2024 21:13:29 +0000 (-0700) Subject: perf annotate: Set notes->src->nr_events early X-Git-Tag: v6.12-rc1~109^2~247 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb1e8bfc7914747692c06b215539ef80105fddbc;p=thirdparty%2Fkernel%2Fstable.git perf annotate: Set notes->src->nr_events early We want to use it in different places so make sure it sets properly in symbol__annotate() before creating the disasm lines. Signed-off-by: Namhyung Kim Cc: Adrian Hunter Cc: Ian Rogers Cc: Ingo Molnar Cc: Jiri Olsa Cc: Kan Liang Cc: Peter Zijlstra Link: https://lore.kernel.org/r/20240803211332.1107222-3-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index 91ad948c89d5b..09e6fdf344db8 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -925,6 +925,11 @@ int symbol__annotate(struct map_symbol *ms, struct evsel *evsel, return -1; } + if (evsel__is_group_event(evsel)) + notes->src->nr_events = evsel->core.nr_members; + else + notes->src->nr_events = 1; + if (annotate_opts.full_addr) notes->src->start = map__objdump_2mem(ms->map, ms->sym->start); else @@ -1842,10 +1847,7 @@ int symbol__annotate2(struct map_symbol *ms, struct evsel *evsel, struct symbol *sym = ms->sym; struct annotation *notes = symbol__annotation(sym); size_t size = symbol__size(sym); - int nr_pcnt = 1, err; - - if (evsel__is_group_event(evsel)) - nr_pcnt = evsel->core.nr_members; + int err; err = symbol__annotate(ms, evsel, parch); if (err) @@ -1861,8 +1863,6 @@ int symbol__annotate2(struct map_symbol *ms, struct evsel *evsel, return err; annotation__init_column_widths(notes, sym); - notes->src->nr_events = nr_pcnt; - annotation__update_column_widths(notes); sym->annotate2 = 1;