Messages in this thread Patch in this message | | | From | Jin Yao <> | Subject | [PATCH v3 3/7] perf util: Return per-event callchain streams | Date | Mon, 20 Apr 2020 09:04:47 +0800 |
| |
In previous patch, we have created a 'struct callchain_streams' array and each array entry contains per-event callchain streams.
This patch returns the pointer of per-event callchain streams according to the evsel_idx.
Signed-off-by: Jin Yao <yao.jin@linux.intel.com> --- tools/perf/util/callchain.c | 12 ++++++++++++ tools/perf/util/callchain.h | 4 ++++ 2 files changed, 16 insertions(+)
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c index 0c028caaeb19..bf66f33debd4 100644 --- a/tools/perf/util/callchain.c +++ b/tools/perf/util/callchain.c @@ -1721,3 +1721,15 @@ struct callchain_streams *callchain_evsel_streams_create(struct evlist *evlist, *nr_evsel_streams = nr_evsel; return callchain_streams; } + +struct callchain_streams *callchain_evsel_streams_get(struct callchain_streams *cs, + int nr_streams_max, + int evsel_idx) +{ + for (int i = 0; i < nr_streams_max; i++) { + if (cs[i].evsel_idx == evsel_idx) + return &cs[i]; + } + + return NULL; +} diff --git a/tools/perf/util/callchain.h b/tools/perf/util/callchain.h index 6a93ad84d395..6ff9d86d74d3 100644 --- a/tools/perf/util/callchain.h +++ b/tools/perf/util/callchain.h @@ -313,4 +313,8 @@ struct callchain_streams *callchain_evsel_streams_create(struct evlist *evlist, int nr_streams_max, int *nr_evsel_streams); +struct callchain_streams *callchain_evsel_streams_get(struct callchain_streams *cs, + int nr_streams_max, + int evsel_idx); + #endif /* __PERF_CALLCHAIN_H */ -- 2.17.1
| |