mbox series

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

Message ID 20211105104130.28186-1-german.gomez@arm.com (mailing list archive)
Headers show
Series perf arm-spe: Inject SPE samples in perf-inject | expand

Message

German Gomez Nov. 5, 2021, 10:41 a.m. UTC
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@linaro.org/#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(+)