From: Adrian Hunter <adrian.hunter@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Heiko Carstens <hca@linux.ibm.com>,
Thomas Richter <tmricht@linux.ibm.com>,
Hendrik Brueckner <brueckner@linux.ibm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>,
James Clark <james.clark@arm.com>,
coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org,
Yicong Yang <yangyicong@hisilicon.com>,
Jonathan Cameron <jonathan.cameron@huawei.com>,
Will Deacon <will@kernel.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>, Andi Kleen <ak@linux.intel.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
Subject: [PATCH V9 04/13] perf/x86/intel: Do not enable large PEBS for events with aux actions or aux sampling
Date: Mon, 15 Jul 2024 19:07:03 +0300 [thread overview]
Message-ID: <20240715160712.127117-5-adrian.hunter@intel.com> (raw)
In-Reply-To: <20240715160712.127117-1-adrian.hunter@intel.com>
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@intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
---
arch/x86/events/intel/core.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index 38c1b1f1deaa..3de40cb823c9 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -3886,6 +3886,12 @@ static inline bool intel_pmu_has_cap(struct perf_event *event, int idx)
return test_bit(idx, (unsigned long *)&intel_cap->capabilities);
}
+static inline bool has_aux_action(struct perf_event *event)
+{
+ return event->attr.aux_pause || event->attr.aux_resume ||
+ event->attr.aux_sample_size;
+}
+
static int intel_pmu_hw_config(struct perf_event *event)
{
int ret = x86_pmu_hw_config(event);
@@ -3903,8 +3909,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;
}
--
2.34.1
next prev parent reply other threads:[~2024-07-15 16:07 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-15 16:06 [PATCH V9 00/13] perf/core: Add ability for an event to "pause" or "resume" AUX area tracing Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 01/13] perf/x86/intel/pt: Fix sampling synchronization Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 02/13] perf/core: Add aux_pause, aux_resume, aux_start_paused Adrian Hunter
2024-07-18 9:38 ` Peter Zijlstra
2024-07-18 11:19 ` Adrian Hunter
2024-07-18 11:51 ` Peter Zijlstra
2024-07-18 12:58 ` Peter Zijlstra
2024-07-18 15:06 ` Adrian Hunter
2024-07-26 14:41 ` Arnaldo Carvalho de Melo
2024-07-26 16:00 ` Adrian Hunter
2024-07-26 18:24 ` Arnaldo Carvalho de Melo
2024-07-15 16:07 ` [PATCH V9 03/13] perf/x86/intel/pt: Add support for pause / resume Adrian Hunter
2024-07-15 16:07 ` Adrian Hunter [this message]
2024-07-15 16:07 ` [PATCH V9 05/13] perf tools: Enable evsel__is_aux_event() to work for ARM/ARM64 Adrian Hunter
2024-07-22 15:13 ` Leo Yan
2024-07-15 16:07 ` [PATCH V9 06/13] perf tools: Enable evsel__is_aux_event() to work for S390_CPUMSF Adrian Hunter
2024-07-23 8:26 ` Leo Yan
2024-07-23 9:09 ` Adrian Hunter
2024-07-26 14:46 ` Arnaldo Carvalho de Melo
2024-07-15 16:07 ` [PATCH V9 07/13] perf tools: Add aux_start_paused, aux_pause and aux_resume Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 08/13] perf tools: Add aux-action config term Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 09/13] perf tools: Parse aux-action Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 10/13] perf tools: Add missing_features for aux_start_paused, aux_pause, aux_resume Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 11/13] perf intel-pt: Improve man page format Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 12/13] perf intel-pt: Add documentation for pause / resume Adrian Hunter
2024-07-15 16:07 ` [PATCH V9 13/13] perf intel-pt: Add a test " Adrian Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240715160712.127117-5-adrian.hunter@intel.com \
--to=adrian.hunter@intel.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=brueckner@linux.ibm.com \
--cc=coresight@lists.linaro.org \
--cc=hca@linux.ibm.com \
--cc=irogers@google.com \
--cc=james.clark@arm.com \
--cc=jolsa@kernel.org \
--cc=jonathan.cameron@huawei.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=suzuki.poulose@arm.com \
--cc=tmricht@linux.ibm.com \
--cc=will@kernel.org \
--cc=yangyicong@hisilicon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).