]> git.ipfire.org Git - people/ms/linux.git/commitdiff
perf script: Skip dummy event attr check
authorJiri Olsa <jolsa@kernel.org>
Wed, 31 Aug 2022 12:40:41 +0000 (14:40 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 31 Aug 2022 16:23:44 +0000 (13:23 -0300)
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@fb.com>
Suggested-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220831124041.219925-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-script.c

index 13580a9c50b8d6d539e9f15d1305946a5639018a..304d234d8e8462b5e579a22d97edba7a66f922fe 100644 (file)
@@ -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;
        }