Re: [PATCH 2/2] perf/annotate: Fix missing branch counter column in TUI mode
"Falcon, Thomas" <[email protected]>
| Newsgroups | dev.linux.lists.sashiko,org.kernel.vger.linux-perf-users |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 2026-04-10 at 20:01 +0000, [email protected] wrote: > Sashiko AI review found 1 potential issue(s): > - [Medium] The branch counter column is now enabled in standard stdio > mode where it cannot be populated, resulting in a useless empty > column in the output. > -- > > commit afd424a34255fcd5587246caa606560bc9b916c8 > Author: Thomas Falcon <[email protected]> > > perf/annotate: Fix missing branch counter column in TUI mode > > This commit moves the check for enabling the branch counter column > into > __cmd_annotate() so it occurs after events have been processed and > the > counter is updated. > > > diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin- > > annotate.c > > index 5e57b78548f42..7fe23b05306f8 100644 > > --- a/tools/perf/builtin-annotate.c > > +++ b/tools/perf/builtin-annotate.c > > @@ -563,6 +563,9 @@ static int __cmd_annotate(struct perf_annotate > > *ann) > > if (ret) > > goto out; > > > > + if (session->evlist->nr_br_cntr > 0) > > + annotate_opts.show_br_cntr = true; > > + > > Will this cause an empty branch counter column to be displayed in > standard > stdio mode? Oops, this was an older version, I'll resend with an updated one. Thanks, Tom > > The original code restricted this check to TUI and stdio2 modes where > use_browser == 1 or annotate.use_stdio2 is true. By moving the > assignment > here, it becomes unconditional. > > In standard stdio mode, process_branch_callback() is skipped when > adding > samples, so branch stack data is not aggregated into the annotation > notes. > This leaves the counter data at 0 for all instructions. Could this > result > in the output rendering the column title but printing only empty > spaces for > all the rows? > > [ ... ] > > > @@ -928,8 +931,6 @@ int cmd_annotate(int argc, const char **argv) > > */ > > if ((use_browser == 1 || annotate.use_stdio2) && > > annotate.has_br_stack) { > > sort__mode = SORT_MODE__BRANCH; > > - if (annotate.session->evlist->nr_br_cntr > 0) > > - annotate_opts.show_br_cntr = true; > > } > > > > if (setup_sorting(/*evlist=*/NULL, > > perf_session__env(annotate.session)) < 0) >