1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __PERF_STREAM_H 3 #define __PERF_STREAM_H 4 5 struct callchain_node; 6 struct evlist; 7 struct evsel; 8 9 struct stream { 10 struct callchain_node *cnode; 11 struct callchain_node *pair_cnode; 12 }; 13 14 struct evsel_streams { 15 struct stream *streams; 16 const struct evsel *evsel; 17 int nr_streams_max; 18 int nr_streams; 19 u64 streams_hits; 20 }; 21 22 struct evlist_streams { 23 struct evsel_streams *ev_streams; 24 int nr_evsel; 25 }; 26 27 void evlist_streams__delete(struct evlist_streams *els); 28 29 struct evlist_streams *evlist__create_streams(struct evlist *evlist, 30 int nr_streams_max); 31 32 struct evsel_streams *evsel_streams__entry(struct evlist_streams *els, 33 const struct evsel *evsel); 34 35 void evsel_streams__match(struct evsel_streams *es_base, 36 struct evsel_streams *es_pair); 37 38 void evsel_streams__report(struct evsel_streams *es_base, 39 struct evsel_streams *es_pair); 40 41 #endif /* __PERF_STREAM_H */ 42