[PATCH 1/1] perf/core: allow trace events to be accessed from any CPU

From: Junxiao Chang

Date: Tue May 26 2026 - 20:57:56 EST


Using perf to collect trace event statistics may introduce unnecessary
SMP IPI interrupts. For example:

perf stat -e i915:i915_context_create -I 1000

In perf_event_read(), an SMP IPI is triggered when the event CPU
differs from the local CPU.

Allow trace events to be accessed from any CPU so the event CPU can
be set to the local CPU, eliminating the extra IPI overhead.

Signed-off-by: Junxiao Chang <junxiao.chang@xxxxxxxxx>
---
kernel/events/core.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/events/core.c b/kernel/events/core.c
index acdb1f02924da..b3a817c0eb3a2 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -11376,6 +11376,7 @@ static struct pmu perf_tracepoint = {
.start = perf_swevent_start,
.stop = perf_swevent_stop,
.read = perf_swevent_read,
+ .scope = PERF_PMU_SCOPE_SYS_WIDE,
};

static int perf_tp_filter_match(struct perf_event *event,
--
2.43.0