2020-09-07 04:18:14

by Jin Yao

[permalink] [raw]
Subject: [PATCH v5 2/7] perf util: Get the evsel_streams by evsel_idx

In previous patch, we have created evsel_streams array

This patch returns the specified evsel_streams according to the
evsel_idx.

Signed-off-by: Jin Yao <[email protected]>
---
v5:
- Rebase to perf/core

v4:
- Rename the patch from 'perf util: Return per-event callchain
streams' to 'perf util: Get the evsel_streams by evsel_idx'

tools/perf/util/stream.c | 11 +++++++++++
tools/perf/util/stream.h | 3 +++
2 files changed, 14 insertions(+)

diff --git a/tools/perf/util/stream.c b/tools/perf/util/stream.c
index 015c1d07ce3a..7882a7f05d97 100644
--- a/tools/perf/util/stream.c
+++ b/tools/perf/util/stream.c
@@ -146,3 +146,14 @@ struct evsel_streams *perf_evlist__create_streams(struct evlist *evlist,

return es;
}
+
+struct evsel_streams *evsel_streams_get(struct evsel_streams *es,
+ int nr_evsel, int evsel_idx)
+{
+ for (int i = 0; i < nr_evsel; i++) {
+ if (es[i].evsel_idx == evsel_idx)
+ return &es[i];
+ }
+
+ return NULL;
+}
diff --git a/tools/perf/util/stream.h b/tools/perf/util/stream.h
index c6844c5787cb..66f61d954eef 100644
--- a/tools/perf/util/stream.h
+++ b/tools/perf/util/stream.h
@@ -20,4 +20,7 @@ struct evlist;
struct evsel_streams *perf_evlist__create_streams(struct evlist *evlist,
int nr_streams_max);

+struct evsel_streams *evsel_streams_get(struct evsel_streams *es,
+ int nr_evsel, int evsel_idx);
+
#endif /* __PERF_STREAM_H */
--
2.17.1