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

Arnaldo Carvalho de Melo acme at kernel.org
Wed Nov 17 09:24:41 PST 2021


Em Wed, Nov 17, 2021 at 04:27:27PM +0000, German Gomez escreveu:
> Hi Arnaldo,
> 
> On 17/11/2021 15:29, Arnaldo Carvalho de Melo wrote:
> > [...]
> > Next time please expand this explanations a bit more: why should we
> > inject such samples? Is this enabling some new mode of operation, fixing
> > something, what is an example of output before this patch and after it?
> I will keep this in mind, thanks. In this case the support was missing
> and I included the context in the cover letter but not the commit msg.

Got it, I'm adding it to the cset comment:

-------------------------------------------------------------------------------

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
-------------------------------------------------------------------------------



More information about the linux-arm-kernel mailing list