[PATCH 2/3] perf: arm_spe: Suppress redundant ITRACE start records

Leo Yan leo.yan at arm.com
Tue Sep 1 09:36:16 PDT 2026


PERF_RECORD_ITRACE_START establishes the initial thread context at the
beginning of a trace. Afterwards, decoders track the thread context using
context packets or recorded sched_switch events.

Call perf_event_itrace_started() when event starts to prevent perf core
from emitting redundant PERF_RECORD_ITRACE_START records on later
schedule-ins.

Signed-off-by: Leo Yan <leo.yan at arm.com>
---
 drivers/perf/arm_spe_pmu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/perf/arm_spe_pmu.c b/drivers/perf/arm_spe_pmu.c
index b70f3fedf0282baba1395ce1116272ec5f961ea8..40314ef8b731e1272e02783a9e6dc7d92ec47139 100644
--- a/drivers/perf/arm_spe_pmu.c
+++ b/drivers/perf/arm_spe_pmu.c
@@ -890,6 +890,8 @@ static void arm_spe_pmu_start(struct perf_event *event, int flags)
 		return;
 	}
 
+	perf_event_itrace_started(event);
+
 	reg = arm_spe_event_to_pmsfcr(event);
 	write_sysreg_s(reg, SYS_PMSFCR_EL1);
 

-- 
2.34.1




More information about the linux-arm-kernel mailing list