Skip to content

Commit ffab487

Browse files
James-A-Clarkacmel
authored andcommitted
perf: arm-spe: Fix perf report --mem-mode
Since commit bb30aca ("perf report: Bail out --mem-mode if mem info is not available") "perf mem report" and "perf report --mem-mode" don't allow opening the file unless one of the events has PERF_SAMPLE_DATA_SRC set. SPE doesn't have this set even though synthetic memory data is generated after it is decoded. Fix this issue by setting DATA_SRC on SPE events. This has no effect on the data collected because the SPE driver doesn't do anything with that flag and doesn't generate samples. Fixes: bb30aca ("perf report: Bail out --mem-mode if mem info is not available") Signed-off-by: James Clark <james.clark@arm.com> Tested-by: Leo Yan <leo.yan@linaro.org> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: German Gomez <german.gomez@arm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: John Garry <john.garry@huawei.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: linux-arm-kernel@lists.infradead.org Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com> Cc: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20220408144056.1955535-1-james.clark@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent fa7095c commit ffab487

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

tools/perf/arch/arm64/util/arm-spe.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,12 @@ static int arm_spe_recording_options(struct auxtrace_record *itr,
239239
arm_spe_set_timestamp(itr, arm_spe_evsel);
240240
}
241241

242+
/*
243+
* Set this only so that perf report knows that SPE generates memory info. It has no effect
244+
* on the opening of the event or the SPE data produced.
245+
*/
246+
evsel__set_sample_bit(arm_spe_evsel, DATA_SRC);
247+
242248
/* Add dummy event to keep tracking */
243249
err = parse_events(evlist, "dummy:u", NULL);
244250
if (err)

0 commit comments

Comments
 (0)