Skip to content

Commit a0f1e48

Browse files
Dapeng Migregkh
authored andcommitted
perf/x86/intel: Correct large PEBS flag check
[ Upstream commit 5e4e355 ] current large PEBS flag check only checks if sample_regs_user contains unsupported GPRs but doesn't check if sample_regs_intr contains unsupported GPRs. Of course, currently PEBS HW supports to sample all perf supported GPRs, the missed check doesn't cause real issue. But it won't be true any more after the subsequent patches support to sample SSP register. SSP sampling is not supported by adaptive PEBS HW and it would be supported until arch-PEBS HW. So correct this issue. Fixes: a47ba4d ("perf/x86: Enable free running PEBS for REGS_USER/INTR") Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20251029102136.61364-5-dapeng1.mi@linux.intel.com Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent a7abd40 commit a0f1e48

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

arch/x86/events/intel/core.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3872,7 +3872,9 @@ static unsigned long intel_pmu_large_pebs_flags(struct perf_event *event)
38723872
if (!event->attr.exclude_kernel)
38733873
flags &= ~PERF_SAMPLE_REGS_USER;
38743874
if (event->attr.sample_regs_user & ~PEBS_GP_REGS)
3875-
flags &= ~(PERF_SAMPLE_REGS_USER | PERF_SAMPLE_REGS_INTR);
3875+
flags &= ~PERF_SAMPLE_REGS_USER;
3876+
if (event->attr.sample_regs_intr & ~PEBS_GP_REGS)
3877+
flags &= ~PERF_SAMPLE_REGS_INTR;
38763878
return flags;
38773879
}
38783880

0 commit comments

Comments
 (0)