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>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
Subject: [PATCH V4 08/11] perf tools: Add missing_features for aux_start_paused, aux_pause, aux_resume
Date: Thu, 11 Jan 2024 10:19:11 +0200 [thread overview]
Message-ID: <20240111081914.3123-9-adrian.hunter@intel.com> (raw)
In-Reply-To: <20240111081914.3123-1-adrian.hunter@intel.com>
Display "feature is not supported" error message if aux_start_paused,
aux_pause or aux_resume result in a perf_event_open() error.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
tools/perf/util/evsel.c | 10 +++++++++-
tools/perf/util/evsel.h | 1 +
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 2ccfc5c6f52f..5681266acdfd 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1890,7 +1890,13 @@ bool evsel__detect_missing_features(struct evsel *evsel)
* Must probe features in the order they were added to the
* perf_event_attr interface.
*/
- if (!perf_missing_features.branch_counters &&
+ if (!perf_missing_features.aux_pause_resume &&
+ (evsel->core.attr.aux_pause || evsel->core.attr.aux_resume ||
+ evsel->core.attr.aux_start_paused)) {
+ perf_missing_features.aux_pause_resume = true;
+ pr_debug2_peo("Kernel has no aux_pause/aux_resume support, bailing out\n");
+ return false;
+ } else if (!perf_missing_features.branch_counters &&
(evsel->core.attr.branch_sample_type & PERF_SAMPLE_BRANCH_COUNTERS)) {
perf_missing_features.branch_counters = true;
pr_debug2("switching off branch counters support\n");
@@ -3057,6 +3063,8 @@ int evsel__open_strerror(struct evsel *evsel, struct target *target,
return scnprintf(msg, size, "clockid feature not supported.");
if (perf_missing_features.clockid_wrong)
return scnprintf(msg, size, "wrong clockid (%d).", clockid);
+ if (perf_missing_features.aux_pause_resume)
+ return scnprintf(msg, size, "The 'aux_pause / aux_resume' feature is not supported, update the kernel.");
if (perf_missing_features.aux_output)
return scnprintf(msg, size, "The 'aux_output' feature is not supported, update the kernel.");
if (!target__has_cpu(target))
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index efbb6e848287..cb316bba3c58 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -192,6 +192,7 @@ struct perf_missing_features {
bool weight_struct;
bool read_lost;
bool branch_counters;
+ bool aux_pause_resume;
};
extern struct perf_missing_features perf_missing_features;
--
2.34.1
WARNING: multiple messages have this Message-ID (diff)
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>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
Subject: [PATCH V4 08/11] perf tools: Add missing_features for aux_start_paused, aux_pause, aux_resume
Date: Thu, 11 Jan 2024 10:19:11 +0200 [thread overview]
Message-ID: <20240111081914.3123-9-adrian.hunter@intel.com> (raw)
In-Reply-To: <20240111081914.3123-1-adrian.hunter@intel.com>
Display "feature is not supported" error message if aux_start_paused,
aux_pause or aux_resume result in a perf_event_open() error.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
tools/perf/util/evsel.c | 10 +++++++++-
tools/perf/util/evsel.h | 1 +
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 2ccfc5c6f52f..5681266acdfd 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1890,7 +1890,13 @@ bool evsel__detect_missing_features(struct evsel *evsel)
* Must probe features in the order they were added to the
* perf_event_attr interface.
*/
- if (!perf_missing_features.branch_counters &&
+ if (!perf_missing_features.aux_pause_resume &&
+ (evsel->core.attr.aux_pause || evsel->core.attr.aux_resume ||
+ evsel->core.attr.aux_start_paused)) {
+ perf_missing_features.aux_pause_resume = true;
+ pr_debug2_peo("Kernel has no aux_pause/aux_resume support, bailing out\n");
+ return false;
+ } else if (!perf_missing_features.branch_counters &&
(evsel->core.attr.branch_sample_type & PERF_SAMPLE_BRANCH_COUNTERS)) {
perf_missing_features.branch_counters = true;
pr_debug2("switching off branch counters support\n");
@@ -3057,6 +3063,8 @@ int evsel__open_strerror(struct evsel *evsel, struct target *target,
return scnprintf(msg, size, "clockid feature not supported.");
if (perf_missing_features.clockid_wrong)
return scnprintf(msg, size, "wrong clockid (%d).", clockid);
+ if (perf_missing_features.aux_pause_resume)
+ return scnprintf(msg, size, "The 'aux_pause / aux_resume' feature is not supported, update the kernel.");
if (perf_missing_features.aux_output)
return scnprintf(msg, size, "The 'aux_output' feature is not supported, update the kernel.");
if (!target__has_cpu(target))
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index efbb6e848287..cb316bba3c58 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -192,6 +192,7 @@ struct perf_missing_features {
bool weight_struct;
bool read_lost;
bool branch_counters;
+ bool aux_pause_resume;
};
extern struct perf_missing_features perf_missing_features;
--
2.34.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-01-11 8:20 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-11 8:19 [PATCH V4 00/11] perf/core: Add ability for an event to "pause" or "resume" AUX area tracing Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 01/11] perf/core: Add aux_pause, aux_resume, aux_start_paused Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-19 21:40 ` Namhyung Kim
2024-01-19 21:40 ` Namhyung Kim
2024-01-23 10:09 ` Adrian Hunter
2024-01-23 10:09 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 02/11] perf/x86/intel/pt: Add support for pause / resume Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 03/11] perf tools: Enable evsel__is_aux_event() to work for ARM/ARM64 Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 04/11] perf tools: Enable evsel__is_aux_event() to work for S390_CPUMSF Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 05/11] perf tools: Add aux_start_paused, aux_pause and aux_resume Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 06/11] perf tools: Add aux-action config term Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 07/11] perf tools: Parse aux-action Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter [this message]
2024-01-11 8:19 ` [PATCH V4 08/11] perf tools: Add missing_features for aux_start_paused, aux_pause, aux_resume Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 09/11] perf intel-pt: Improve man page format Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 10/11] perf intel-pt: Add documentation for pause / resume Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-16 11:15 ` Andi Kleen
2024-01-16 11:15 ` Andi Kleen
2024-01-16 12:22 ` Adrian Hunter
2024-01-16 12:22 ` Adrian Hunter
2024-01-19 21:28 ` Namhyung Kim
2024-01-19 21:28 ` Namhyung Kim
2024-01-22 10:07 ` Adrian Hunter
2024-01-22 10:07 ` Adrian Hunter
2024-01-11 8:19 ` [PATCH V4 11/11] perf intel-pt: Add a test " Adrian Hunter
2024-01-11 8:19 ` Adrian Hunter
2024-01-29 12:48 ` [PATCH V4 00/11] perf/core: Add ability for an event to "pause" or "resume" AUX area tracing Adrian Hunter
2024-01-29 12:48 ` Adrian Hunter
2024-01-31 16:53 ` Ian Rogers
2024-01-31 16:53 ` Ian Rogers
2024-02-01 16:29 ` James Clark
2024-02-01 16:29 ` James Clark
2024-02-08 11:40 ` Adrian Hunter
2024-02-08 11:40 ` 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=20240111081914.3123-9-adrian.hunter@intel.com \
--to=adrian.hunter@intel.com \
--cc=acme@kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.