Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __PERF_STREAM_H
0003 #define __PERF_STREAM_H
0004 
0005 #include "callchain.h"
0006 
0007 struct stream {
0008     struct callchain_node   *cnode;
0009     struct callchain_node   *pair_cnode;
0010 };
0011 
0012 struct evsel_streams {
0013     struct stream       *streams;
0014     int         nr_streams_max;
0015     int         nr_streams;
0016     int         evsel_idx;
0017     u64         streams_hits;
0018 };
0019 
0020 struct evlist_streams {
0021     struct evsel_streams    *ev_streams;
0022     int         nr_evsel;
0023 };
0024 
0025 struct evlist;
0026 
0027 void evlist_streams__delete(struct evlist_streams *els);
0028 
0029 struct evlist_streams *evlist__create_streams(struct evlist *evlist,
0030                           int nr_streams_max);
0031 
0032 struct evsel_streams *evsel_streams__entry(struct evlist_streams *els,
0033                        int evsel_idx);
0034 
0035 void evsel_streams__match(struct evsel_streams *es_base,
0036               struct evsel_streams *es_pair);
0037 
0038 void evsel_streams__report(struct evsel_streams *es_base,
0039                struct evsel_streams *es_pair);
0040 
0041 #endif /* __PERF_STREAM_H */