Re: [PATCH] perf script: Skip dummy event attr check

From: Ian Rogers
Date: Wed Aug 31 2022 - 12:03:58 EST


On Wed, Aug 31, 2022 at 5:40 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>
> Hongtao Yu reported problem when displaying uregs in perf script
> for system wide perf.data:
>
> # perf script -F uregs | head -10
> Samples for 'dummy:HG' event do not have UREGS attribute set. Cannot print 'uregs' field.
>
> The problem is the extra dummy event added for system wide,
> which does not have proper sample_type setup.
>
> Skipping attr check completely for dummy event as suggested
> by Namhyung, because it does not have any samples anyway.
>
> Reported-by: Hongtao Yu <hoy@xxxxxx>
> Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>

Acked-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> ---
> tools/perf/builtin-script.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
> index 13580a9c50b8..304d234d8e84 100644
> --- a/tools/perf/builtin-script.c
> +++ b/tools/perf/builtin-script.c
> @@ -566,6 +566,8 @@ static struct evsel *find_first_output_type(struct evlist *evlist,
> struct evsel *evsel;
>
> evlist__for_each_entry(evlist, evsel) {
> + if (evsel__is_dummy_event(evsel))
> + continue;
> if (output_type(evsel->core.attr.type) == (int)type)
> return evsel;
> }
> --
> 2.37.2
>