Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf mem/c2c: Document that SPE is used for mem and c2c on ARM

Setup is non-trivial so also link to the full SPE docs.

Signed-off-by: James Clark <james.clark@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linux-perf-users@vger.kernel.or
Link: https://lore.kernel.org/r/20230124145929.557891-1-james.clark@arm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

James Clark and committed by
Arnaldo Carvalho de Melo
86569c0a 6bc75b4c

+12 -3
+6 -2
tools/perf/Documentation/perf-c2c.txt
··· 22 22 On Intel, the tool is based on load latency and precise store facility events 23 23 provided by Intel CPUs. On PowerPC, the tool uses random instruction sampling 24 24 with thresholding feature. On AMD, the tool uses IBS op pmu (due to hardware 25 - limitations, perf c2c is not supported on Zen3 cpus). 25 + limitations, perf c2c is not supported on Zen3 cpus). On Arm64 it uses SPE to 26 + sample load and store operations, therefore hardware and kernel support is 27 + required. See linkperf:perf-arm-spe[1] for a setup guide. Due to the 28 + statistical nature of Arm SPE sampling, not every memory operation will be 29 + sampled. 26 30 27 31 These events provide: 28 32 - memory address of the access ··· 337 333 338 334 SEE ALSO 339 335 -------- 340 - linkperf:perf-record[1], linkperf:perf-mem[1] 336 + linkperf:perf-record[1], linkperf:perf-mem[1], linkperf:perf-arm-spe[1]
+6 -1
tools/perf/Documentation/perf-mem.txt
··· 23 23 not the pure load (or store latency). Use latency includes any pipeline 24 24 queueing delays in addition to the memory subsystem latency. 25 25 26 + On Arm64 this uses SPE to sample load and store operations, therefore hardware 27 + and kernel support is required. See linkperf:perf-arm-spe[1] for a setup guide. 28 + Due to the statistical nature of SPE sampling, not every memory operation will 29 + be sampled. 30 + 26 31 OPTIONS 27 32 ------- 28 33 <command>...:: ··· 98 93 99 94 SEE ALSO 100 95 -------- 101 - linkperf:perf-record[1], linkperf:perf-report[1] 96 + linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-arm-spe[1]