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)
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.