[PATCH] perf annotate: Fix data type profiling on stdio

Namhyung Kim posted 1 patch 1 year, 9 months ago
tools/perf/builtin-annotate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] perf annotate: Fix data type profiling on stdio
Posted by Namhyung Kim 1 year, 9 months ago
The loop in hists__find_annotations() never set the 'nd' pointer to NULL
and it makes stdio output repeating the last element forever.  I think
it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
But it should just set on stdio mode.

Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/builtin-annotate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 6f7104f06c42..83812b9d5363 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -491,7 +491,7 @@ static void hists__find_annotations(struct hists *hists,
 				return;
 			}
 
-			if (next != NULL)
+			if (use_browser == 0 || next != NULL)
 				nd = next;
 
 			continue;
-- 
2.44.0.769.g3c40516874-goog
Re: [PATCH] perf annotate: Fix data type profiling on stdio
Posted by Ian Rogers 1 year, 9 months ago
On Mon, Apr 22, 2024 at 7:06 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> The loop in hists__find_annotations() never set the 'nd' pointer to NULL
> and it makes stdio output repeating the last element forever.  I think
> it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
> But it should just set on stdio mode.
>
> Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>

Acked-by: Ian Rogers <irogers@google.com>

Should we have a test to cover things like this?

Thanks,
Ian

> ---
>  tools/perf/builtin-annotate.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index 6f7104f06c42..83812b9d5363 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -491,7 +491,7 @@ static void hists__find_annotations(struct hists *hists,
>                                 return;
>                         }
>
> -                       if (next != NULL)
> +                       if (use_browser == 0 || next != NULL)
>                                 nd = next;
>
>                         continue;
> --
> 2.44.0.769.g3c40516874-goog
>
Re: [PATCH] perf annotate: Fix data type profiling on stdio
Posted by Namhyung Kim 1 year, 9 months ago
On Tue, Apr 23, 2024 at 9:57 AM Ian Rogers <irogers@google.com> wrote:
>
> On Mon, Apr 22, 2024 at 7:06 PM Namhyung Kim <namhyung@kernel.org> wrote:
> >
> > The loop in hists__find_annotations() never set the 'nd' pointer to NULL
> > and it makes stdio output repeating the last element forever.  I think
> > it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
> > But it should just set on stdio mode.
> >
> > Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
>
> Acked-by: Ian Rogers <irogers@google.com>

Thanks for your review!

>
> Should we have a test to cover things like this?

Ok, I'll try to add one for perf annotate.

Thanks,
Namhyung
Re: [PATCH] perf annotate: Fix data type profiling on stdio
Posted by Arnaldo Carvalho de Melo 1 year, 9 months ago
On Tue, Apr 23, 2024 at 04:07:08PM -0700, Namhyung Kim wrote:
> On Tue, Apr 23, 2024 at 9:57 AM Ian Rogers <irogers@google.com> wrote:
> >
> > On Mon, Apr 22, 2024 at 7:06 PM Namhyung Kim <namhyung@kernel.org> wrote:
> > >
> > > The loop in hists__find_annotations() never set the 'nd' pointer to NULL
> > > and it makes stdio output repeating the last element forever.  I think
> > > it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
> > > But it should just set on stdio mode.
> > >
> > > Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
> > > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> >
> > Acked-by: Ian Rogers <irogers@google.com>
> 
> Thanks for your review!

Thanks, applied to perf-tools-next,

- Arnaldo
 
> >
> > Should we have a test to cover things like this?
> 
> Ok, I'll try to add one for perf annotate.
> 
> Thanks,
> Namhyung