[PATCH 0/1] perf arm-spe: Inject SPE samples in perf-inject

From: German Gomez
Date: Fri Nov 05 2021 - 06:41:40 EST


perf-inject is currently not working for Arm SPE. When you try to run
perf-inject and perf-report with a perf.data file that contains SPE
traces, the tool reports a "Bad address" error:

# ./perf record -e arm_spe_0/ts_enable=1,store_filter=1,branch_filter=1,load_filter=1/ -a -- sleep 1
# ./perf inject -i perf.data -o perf.inject.data --itrace
# ./perf report -i perf.inject.data --stdio

0x42c00 [0x8]: failed to process type: 9 [Bad address]
Error:
failed to process sample

As far as I know, the issue was first spotted in [1], but perf-inject
was not yet injecting the samples. This patch does something similar to
what cs_etm does for injecting the samples [2], but for SPE.

[1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210412091006.468557-1-leo.yan@xxxxxxxxxx/#24117339
[2] https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/util/cs-etm.c?h=perf/core&id=133fe2e617e48ca0948983329f43877064ffda3e#n1196

German Gomez (1):
perf arm-spe: Inject SPE samples in perf-inject

tools/perf/util/arm-spe.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)

--
2.25.1