From: Leo Yan <leo.yan@arm.com>
To: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
"Liang, Kan" <kan.liang@linux.intel.com>,
James Clark <james.clark@linaro.org>,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Leo Yan <leo.yan@arm.com>
Subject: [PATCH v3 5/5] perf auxtrace: Iterate all AUX events when finish reading
Date: Tue, 6 Aug 2024 21:48:13 +0100 [thread overview]
Message-ID: <20240806204813.722372-6-leo.yan@arm.com> (raw)
In-Reply-To: <20240806204813.722372-1-leo.yan@arm.com>
When finished to read AUX trace data from mmaped buffer, based on the
AUX buffer index the core layer needs to search the corresponding PMU
event and re-enable it to continue tracing.
However, current code only searches the first AUX event. It misses to
search other enabled AUX events, thus, it returns failure if the buffer
index does not belong to the first AUX event.
This patch changes to continue searching every enabled AUX events for
covering the mmaped buffer indexes.
Signed-off-by: Leo Yan <leo.yan@arm.com>
---
tools/perf/util/auxtrace.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
index 7c998f95d2ff..926eb3fe6015 100644
--- a/tools/perf/util/auxtrace.c
+++ b/tools/perf/util/auxtrace.c
@@ -690,9 +690,13 @@ int auxtrace_record__read_finish(struct auxtrace_record *itr, int idx)
if (evsel__is_aux_event(evsel)) {
cpu_map_idx = evlist__find_cpu_map_idx(itr->evlist,
evsel, idx);
- /* No map is found in per CPU mmap */
+ /*
+ * No map is found in per CPU mmap. Multiple AUX events
+ * might be opened in a session, continue to check if
+ * the next AUX event can cover the mmaped buffer 'idx'.
+ */
if (cpu_map_idx == -ENOENT)
- return cpu_map_idx;
+ continue;
if (evsel->disabled)
return 0;
--
2.34.1
prev parent reply other threads:[~2024-08-06 20:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-06 20:48 [PATCH v3 0/5] perf auxtrace: Support multiple AUX events Leo Yan
2024-08-06 20:48 ` [PATCH v3 1/5] perf/core: Allow multiple AUX PMU events with the same module Leo Yan
2024-08-06 21:14 ` Peter Zijlstra
2024-08-06 21:51 ` Leo Yan
2024-08-06 20:48 ` [PATCH v3 2/5] perf auxtrace: Introduce auxtrace_record__validate_events() Leo Yan
2024-08-06 20:48 ` [PATCH v3 3/5] perf auxtrace: Refactor evlist__enable_event_idx() Leo Yan
2024-08-06 20:48 ` [PATCH v3 4/5] perf auxtrace: Bails out after finding the event for the map index Leo Yan
2024-08-06 20:48 ` Leo Yan [this message]
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=20240806204813.722372-6-leo.yan@arm.com \
--to=leo.yan@arm.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/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
all inboxes | Powered by JetHome®