[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <172224868735.2215.3187465377441491823.tip-bot2@tip-bot2>
Date: Mon, 29 Jul 2024 10:24:47 -0000
From: "tip-bot2 for Adrian Hunter" <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: Adrian Hunter <adrian.hunter@...el.com>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
Andi Kleen <ak@...ux.intel.com>, x86@...nel.org, linux-kernel@...r.kernel.org
Subject: [tip: perf/core] perf/x86/intel: Do not enable large PEBS for events
with aux actions or aux sampling
The following commit has been merged into the perf/core branch of tip:
Commit-ID: 6763ebdb4983f55ac1ded291d170046d029a7539
Gitweb: https://git.kernel.org/tip/6763ebdb4983f55ac1ded291d170046d029a7539
Author: Adrian Hunter <adrian.hunter@...el.com>
AuthorDate: Mon, 15 Jul 2024 19:07:03 +03:00
Committer: Peter Zijlstra <peterz@...radead.org>
CommitterDate: Mon, 29 Jul 2024 12:16:24 +02:00
perf/x86/intel: Do not enable large PEBS for events with aux actions or aux sampling
Events with aux actions or aux sampling expect the PMI to coincide with the
event, which does not happen for large PEBS, so do not enable large PEBS in
that case.
Signed-off-by: Adrian Hunter <adrian.hunter@...el.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
Reviewed-by: Andi Kleen <ak@...ux.intel.com>
Link: https://lkml.kernel.org/r/20240715160712.127117-5-adrian.hunter@intel.com
---
arch/x86/events/intel/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index 0c9c270..3d3b841 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -3962,8 +3962,8 @@ static int intel_pmu_hw_config(struct perf_event *event)
if (!(event->attr.freq || (event->attr.wakeup_events && !event->attr.watermark))) {
event->hw.flags |= PERF_X86_EVENT_AUTO_RELOAD;
- if (!(event->attr.sample_type &
- ~intel_pmu_large_pebs_flags(event))) {
+ if (!(event->attr.sample_type & ~intel_pmu_large_pebs_flags(event)) &&
+ !has_aux_action(event)) {
event->hw.flags |= PERF_X86_EVENT_LARGE_PEBS;
event->attach_state |= PERF_ATTACH_SCHED_CB;
}
Powered by blists - more mailing lists