* [PATCH] perf/core: Fix ITRACE start suppression for inherited events
@ 2026-09-03 9:35 Leo Yan
2026-09-03 9:45 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Leo Yan @ 2026-09-03 9:35 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Namhyung Kim, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Ian Rogers, Adrian Hunter, James Clark
Cc: Ingo Molnar, linux-perf-users, linux-kernel, Sashiko AI, Leo Yan
PMU drivers call perf_event_itrace_started() for the event that has
started tracing. This sets PERF_ATTACH_ITRACE in that event's
attach_state.
For inherited events, however, perf_log_itrace_start() replaces the
child event with its parent before checking PERF_ATTACH_ITRACE. The
setter and checker therefore operate on different events. If the
parent's flag is clear, the child continues to emit ITRACE_START
records on subsequent schedule-ins. If the parent has already started,
its flag can instead suppress the child's initial record.
Remove the parent substitution so that perf_log_itrace_start() checks
the same event that the PMU driver marks as started.
This is safe for tool consumers. Intel PT uses the ITRACE_START record
to set the current thread context. CoreSight ETM uses the record only
to find or create the corresponding thread. Neither decoder depends on
the parent event.
Reported-by: Sashiko AI <sashiko-bot@kernel.org>
Closes: https://lore.kernel.org/linux-perf-users/20260901164705.042781F000E9@smtp.kernel.org/
Fixes: 9a6694cfa239 ("perf/x86/intel/pt: Do not force sync packets on every schedule-in")
Signed-off-by: Leo Yan <leo.yan@arm.com>
---
kernel/events/core.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/kernel/events/core.c b/kernel/events/core.c
index a6c8e38a311042afab6b65814a84c67b87ba929b..991ae214d46ebe8b0d9de497255f25a4ad12397f 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -10572,9 +10572,6 @@ static void perf_log_itrace_start(struct perf_event *event)
} rec;
int ret;
- if (event->parent)
- event = event->parent;
-
if (!(event->pmu->capabilities & PERF_PMU_CAP_ITRACE) ||
event->attach_state & PERF_ATTACH_ITRACE)
return;
---
base-commit: 940de590b839f71d6dc846160534bf202401b8b7
change-id: 20260903-perf_core_itrace_start_fix_inherit_event-a8930d792899
Best regards,
--
Leo Yan <leo.yan@arm.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] perf/core: Fix ITRACE start suppression for inherited events
2026-09-03 9:35 [PATCH] perf/core: Fix ITRACE start suppression for inherited events Leo Yan
@ 2026-09-03 9:45 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-09-03 9:45 UTC (permalink / raw)
To: Leo Yan; +Cc: linux-perf-users
> PMU drivers call perf_event_itrace_started() for the event that has
> started tracing. This sets PERF_ATTACH_ITRACE in that event's
> attach_state.
>
> For inherited events, however, perf_log_itrace_start() replaces the
> child event with its parent before checking PERF_ATTACH_ITRACE. The
> setter and checker therefore operate on different events. If the
> parent's flag is clear, the child continues to emit ITRACE_START
> records on subsequent schedule-ins. If the parent has already started,
> its flag can instead suppress the child's initial record.
>
> Remove the parent substitution so that perf_log_itrace_start() checks
> the same event that the PMU driver marks as started.
>
> This is safe for tool consumers. Intel PT uses the ITRACE_START record
> to set the current thread context. CoreSight ETM uses the record only
> to find or create the corresponding thread. Neither decoder depends on
> the parent event.
>
> Reported-by: Sashiko AI <sashiko-bot@kernel.org>
> Closes: https://lore.kernel.org/linux-perf-users/20260901164705.042781F000E9@smtp.kernel.org/
> Fixes: 9a6694cfa239 ("perf/x86/intel/pt: Do not force sync packets on every schedule-in")
> Signed-off-by: Leo Yan <leo.yan@arm.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260903-perf_core_itrace_start_fix_inherit_event-v1-1-6bff7e675af5@arm.com?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-03 9:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-03 9:35 [PATCH] perf/core: Fix ITRACE start suppression for inherited events Leo Yan
2026-09-03 9:45 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox