diff options
author | Will Deacon <will@kernel.org> | 2025-01-17 16:52:37 +0300 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2025-01-17 16:52:37 +0300 |
commit | 1dd3393696efba1598aa7692939bba99d0cffae3 (patch) | |
tree | 238ca75def06d67405350b50faeb7649966632c5 /tools/perf | |
parent | 602ffd4ce3a61526d72dfbfb76ca06df19d429f1 (diff) | |
parent | ba113ecad81a5167854d6ca05ea19a63eca1c4a3 (diff) | |
download | linux-1dd3393696efba1598aa7692939bba99d0cffae3.tar.xz |
Merge branch 'for-next/perf' into for-next/core
* for-next/perf: (29 commits)
perf docs: arm_spe: Document new discard mode
perf: arm_spe: Add format option for discard mode
MAINTAINERS: Add perf list for drivers/perf/
drivers/perf: apple_m1: Map generic branch events
drivers/perf: hisi: Set correct IRQ affinity for PMUs with no association
perf: imx9_perf: Introduce AXI filter version to refactor the driver and better extension
perf/arm-cmn: Permit more exhaustive groups
perf/dwc_pcie: Qualify RAS DES VSEC Capability by Vendor, Revision
drivers/perf: hisi: Delete redundant blank line of DDRC PMU
drivers/perf: hisi: Fix incorrect variable name "hha_pmu" in DDRC PMU driver
drivers/perf: hisi: Export associated CPUs of each PMU through sysfs
drivers/perf: hisi: Provide a generic implementation of cpumask/identifier
drivers/perf: hisi: Add a common function to retrieve topology from firmware
drivers/perf: hisi: Extract topology information to a separate structure
drivers/perf: hisi: Refactor the detection of associated CPUs
drivers/perf: hisi: Migrate to one online CPU if no associated one online
drivers/perf: hisi: Don't update the associated_cpus on CPU offline
drivers/perf: hisi: Define a symbol namespace for HiSilicon Uncore PMUs
perf/marvell: Odyssey LLC-TAD performance monitor support
perf/marvell: Refactor to extract platform data
...
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/Documentation/perf-arm-spe.txt | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/perf/Documentation/perf-arm-spe.txt b/tools/perf/Documentation/perf-arm-spe.txt index de2b0b479249..37afade4f1b2 100644 --- a/tools/perf/Documentation/perf-arm-spe.txt +++ b/tools/perf/Documentation/perf-arm-spe.txt @@ -150,6 +150,7 @@ arm_spe/load_filter=1,min_latency=10/' pct_enable=1 - collect physical timestamp instead of virtual timestamp (PMSCR.PCT) - requires privilege store_filter=1 - collect stores only (PMSFCR.ST) ts_enable=1 - enable timestamping with value of generic timer (PMSCR.TS) + discard=1 - enable SPE PMU events but don't collect sample data - see 'Discard mode' (PMBLIMITR.FM = DISCARD) +++*+++ Latency is the total latency from the point at which sampling started on that instruction, rather than only the execution latency. @@ -220,6 +221,31 @@ Common errors Increase sampling interval (see above) +PMU events +~~~~~~~~~~ + +SPE has events that can be counted on core PMUs. These are prefixed with +SAMPLE_, for example SAMPLE_POP, SAMPLE_FEED, SAMPLE_COLLISION and +SAMPLE_FEED_BR. + +These events will only count when an SPE event is running on the same core that +the PMU event is opened on, otherwise they read as 0. There are various ways to +ensure that the PMU event and SPE event are scheduled together depending on the +way the event is opened. For example opening both events as per-process events +on the same process, although it's not guaranteed that the PMU event is enabled +first when context switching. For that reason it may be better to open the PMU +event as a systemwide event and then open SPE on the process of interest. + +Discard mode +~~~~~~~~~~~~ + +SPE related (SAMPLE_* etc) core PMU events can be used without the overhead of +collecting sample data if discard mode is supported (optional from Armv8.6). +First run a system wide SPE session (or on the core of interest) using options +to minimize output. Then run perf stat: + + perf record -e arm_spe/discard/ -a -N -B --no-bpf-event -o - > /dev/null & + perf stat -e SAMPLE_FEED_LD SEE ALSO -------- |