Lines Matching refs:evlist
22 void perf_evlist__init(struct perf_evlist *evlist) in perf_evlist__init() argument
27 INIT_HLIST_HEAD(&evlist->heads[i]); in perf_evlist__init()
28 INIT_LIST_HEAD(&evlist->entries); in perf_evlist__init()
29 evlist->nr_entries = 0; in perf_evlist__init()
32 static void __perf_evlist__propagate_maps(struct perf_evlist *evlist, in __perf_evlist__propagate_maps() argument
39 if (!evsel->own_cpus || evlist->has_user_cpus) { in __perf_evlist__propagate_maps()
41 evsel->cpus = perf_cpu_map__get(evlist->cpus); in __perf_evlist__propagate_maps()
48 evsel->threads = perf_thread_map__get(evlist->threads); in __perf_evlist__propagate_maps()
51 static void perf_evlist__propagate_maps(struct perf_evlist *evlist) in perf_evlist__propagate_maps() argument
55 perf_evlist__for_each_evsel(evlist, evsel) in perf_evlist__propagate_maps()
56 __perf_evlist__propagate_maps(evlist, evsel); in perf_evlist__propagate_maps()
59 void perf_evlist__add(struct perf_evlist *evlist, in perf_evlist__add() argument
62 list_add_tail(&evsel->node, &evlist->entries); in perf_evlist__add()
63 evlist->nr_entries += 1; in perf_evlist__add()
64 __perf_evlist__propagate_maps(evlist, evsel); in perf_evlist__add()
67 void perf_evlist__remove(struct perf_evlist *evlist, in perf_evlist__remove() argument
71 evlist->nr_entries -= 1; in perf_evlist__remove()
76 struct perf_evlist *evlist = zalloc(sizeof(*evlist)); in perf_evlist__new() local
78 if (evlist != NULL) in perf_evlist__new()
79 perf_evlist__init(evlist); in perf_evlist__new()
81 return evlist; in perf_evlist__new()
85 perf_evlist__next(struct perf_evlist *evlist, struct perf_evsel *prev) in perf_evlist__next() argument
90 next = list_first_entry(&evlist->entries, in perf_evlist__next()
98 if (&next->node == &evlist->entries) in perf_evlist__next()
104 void perf_evlist__delete(struct perf_evlist *evlist) in perf_evlist__delete() argument
106 free(evlist); in perf_evlist__delete()
109 void perf_evlist__set_maps(struct perf_evlist *evlist, in perf_evlist__set_maps() argument
120 if (cpus != evlist->cpus) { in perf_evlist__set_maps()
121 perf_cpu_map__put(evlist->cpus); in perf_evlist__set_maps()
122 evlist->cpus = perf_cpu_map__get(cpus); in perf_evlist__set_maps()
125 if (threads != evlist->threads) { in perf_evlist__set_maps()
126 perf_thread_map__put(evlist->threads); in perf_evlist__set_maps()
127 evlist->threads = perf_thread_map__get(threads); in perf_evlist__set_maps()
130 perf_evlist__propagate_maps(evlist); in perf_evlist__set_maps()
133 int perf_evlist__open(struct perf_evlist *evlist) in perf_evlist__open() argument
138 perf_evlist__for_each_entry(evlist, evsel) { in perf_evlist__open()
147 perf_evlist__close(evlist); in perf_evlist__open()
151 void perf_evlist__close(struct perf_evlist *evlist) in perf_evlist__close() argument
155 perf_evlist__for_each_entry_reverse(evlist, evsel) in perf_evlist__close()
159 void perf_evlist__enable(struct perf_evlist *evlist) in perf_evlist__enable() argument
163 perf_evlist__for_each_entry(evlist, evsel) in perf_evlist__enable()
167 void perf_evlist__disable(struct perf_evlist *evlist) in perf_evlist__disable() argument
171 perf_evlist__for_each_entry(evlist, evsel) in perf_evlist__disable()
175 u64 perf_evlist__read_format(struct perf_evlist *evlist) in perf_evlist__read_format() argument
177 struct perf_evsel *first = perf_evlist__first(evlist); in perf_evlist__read_format()
184 static void perf_evlist__id_hash(struct perf_evlist *evlist, in perf_evlist__id_hash() argument
194 hlist_add_head(&sid->node, &evlist->heads[hash]); in perf_evlist__id_hash()
197 void perf_evlist__id_add(struct perf_evlist *evlist, in perf_evlist__id_add() argument
201 perf_evlist__id_hash(evlist, evsel, cpu, thread, id); in perf_evlist__id_add()
205 int perf_evlist__id_add_fd(struct perf_evlist *evlist, in perf_evlist__id_add_fd() argument
227 if (perf_evlist__read_format(evlist) & PERF_FORMAT_GROUP) in perf_evlist__id_add_fd()
242 perf_evlist__id_add(evlist, evsel, cpu, thread, id); in perf_evlist__id_add_fd()
246 int perf_evlist__alloc_pollfd(struct perf_evlist *evlist) in perf_evlist__alloc_pollfd() argument
248 int nr_cpus = perf_cpu_map__nr(evlist->cpus); in perf_evlist__alloc_pollfd()
249 int nr_threads = perf_thread_map__nr(evlist->threads); in perf_evlist__alloc_pollfd()
253 perf_evlist__for_each_entry(evlist, evsel) { in perf_evlist__alloc_pollfd()
260 if (fdarray__available_entries(&evlist->pollfd) < nfds && in perf_evlist__alloc_pollfd()
261 fdarray__grow(&evlist->pollfd, nfds) < 0) in perf_evlist__alloc_pollfd()
267 int perf_evlist__add_pollfd(struct perf_evlist *evlist, int fd, in perf_evlist__add_pollfd() argument
270 int pos = fdarray__add(&evlist->pollfd, fd, revent | POLLERR | POLLHUP); in perf_evlist__add_pollfd()
273 evlist->pollfd.priv[pos].ptr = ptr; in perf_evlist__add_pollfd()
280 int perf_evlist__poll(struct perf_evlist *evlist, int timeout) in perf_evlist__poll() argument
282 return fdarray__poll(&evlist->pollfd, timeout); in perf_evlist__poll()