From: German Gomez <hidden> Date: 2021-11-05 10:41:40
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(+)
--
2.25.1
From: Arnaldo Carvalho de Melo <acme@kernel.org> Date: 2021-11-17 15:29:49
Em Mon, Nov 08, 2021 at 08:39:58PM +0000, James Clark escreveu:
On 05/11/2021 10:41, German Gomez wrote:
quoted
Inject synthesized SPE samples during perf-inject run.
Signed-off-by: German Gomez <redacted>
Reviewed-by: James Clark <redacted>
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?
- Arnaldo
From: German Gomez <hidden> Date: 2021-11-17 16:27:38
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.
Thanks,
German
From: Arnaldo Carvalho de Melo <acme@kernel.org> Date: 2021-11-17 17:24:47
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:
quoted
[...]
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
-------------------------------------------------------------------------------