/Linux-v5.4/tools/perf/util/ |
D | evlist.h | 51 struct evlist { struct 68 void (*trace_event_sample_raw)(struct evlist *evlist, argument 84 struct evlist *evlist__new(void); argument 85 struct evlist *perf_evlist__new_default(void); 86 struct evlist *perf_evlist__new_dummy(void); 87 void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus, 89 void evlist__exit(struct evlist *evlist); 90 void evlist__delete(struct evlist *evlist); 92 void evlist__add(struct evlist *evlist, struct evsel *entry); 93 void evlist__remove(struct evlist *evlist, struct evsel *evsel); [all …]
|
D | evlist.c | 55 void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus, in evlist__init() argument 58 perf_evlist__init(&evlist->core); in evlist__init() 59 perf_evlist__set_maps(&evlist->core, cpus, threads); in evlist__init() 60 fdarray__init(&evlist->core.pollfd, 64); in evlist__init() 61 evlist->workload.pid = -1; in evlist__init() 62 evlist->bkw_mmap_state = BKW_MMAP_NOTREADY; in evlist__init() 65 struct evlist *evlist__new(void) in evlist__new() 67 struct evlist *evlist = zalloc(sizeof(*evlist)); in evlist__new() local 69 if (evlist != NULL) in evlist__new() 70 evlist__init(evlist, NULL, NULL); in evlist__new() [all …]
|
D | bpf-loader.h | 43 struct evlist; 73 struct evlist *evlist, int *error_pos); 76 struct evlist *evlist, 82 int bpf__setup_stdout(struct evlist *evlist); 83 struct evsel *bpf__setup_output_event(struct evlist *evlist, const char *name); 84 int bpf__strerror_setup_output_event(struct evlist *evlist, int err, char *buf, size_t size); 122 struct evlist *evlist __maybe_unused, in bpf__config_obj() 135 bpf__setup_stdout(struct evlist *evlist __maybe_unused) in bpf__setup_stdout() 141 bpf__setup_output_event(struct evlist *evlist __maybe_unused, const char *name __maybe_unused) in bpf__setup_output_event() 185 struct evlist *evlist __maybe_unused, in bpf__strerror_config_obj() [all …]
|
D | record.c | 20 struct evlist *evlist; in perf_do_probe_api() local 26 evlist = evlist__new(); in perf_do_probe_api() 27 if (!evlist) in perf_do_probe_api() 30 if (parse_events(evlist, str, NULL)) in perf_do_probe_api() 33 evsel = evlist__first(evlist); in perf_do_probe_api() 60 evlist__delete(evlist); in perf_do_probe_api() 139 void perf_evlist__config(struct evlist *evlist, struct record_opts *opts, in perf_evlist__config() argument 152 perf_evlist__set_leader(evlist); in perf_evlist__config() 154 if (evlist->core.cpus->map[0] < 0) in perf_evlist__config() 159 evlist__for_each_entry(evlist, evsel) { in perf_evlist__config() [all …]
|
D | cgroup.c | 94 static struct cgroup *evlist__find_cgroup(struct evlist *evlist, const char *str) in evlist__find_cgroup() argument 100 evlist__for_each_entry(evlist, counter) { in evlist__find_cgroup() 134 struct cgroup *evlist__findnew_cgroup(struct evlist *evlist, const char *name) in evlist__findnew_cgroup() argument 136 struct cgroup *cgroup = evlist__find_cgroup(evlist, name); in evlist__findnew_cgroup() 141 static int add_cgroup(struct evlist *evlist, const char *str) in add_cgroup() argument 144 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str); in add_cgroup() 154 evlist__for_each_entry(evlist, counter) { in add_cgroup() 194 void evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup) in evlist__set_default_cgroup() argument 198 evlist__for_each_entry(evlist, evsel) in evlist__set_default_cgroup() 205 struct evlist *evlist = *(struct evlist **)opt->value; in parse_cgroups() local [all …]
|
/Linux-v5.4/tools/perf/lib/ |
D | evlist.c | 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() [all …]
|
/Linux-v5.4/tools/perf/tests/ |
D | event-times.c | 17 static int attach__enable_on_exec(struct evlist *evlist) in attach__enable_on_exec() argument 19 struct evsel *evsel = evlist__last(evlist); in attach__enable_on_exec() 29 err = perf_evlist__create_maps(evlist, &target); in attach__enable_on_exec() 35 err = perf_evlist__prepare_workload(evlist, &target, argv, false, NULL); in attach__enable_on_exec() 43 err = evlist__open(evlist); in attach__enable_on_exec() 50 return perf_evlist__start_workload(evlist) == 1 ? TEST_OK : TEST_FAIL; in attach__enable_on_exec() 53 static int detach__enable_on_exec(struct evlist *evlist) in detach__enable_on_exec() argument 55 waitpid(evlist->workload.pid, NULL, 0); in detach__enable_on_exec() 59 static int attach__current_disabled(struct evlist *evlist) in attach__current_disabled() argument 61 struct evsel *evsel = evlist__last(evlist); in attach__current_disabled() [all …]
|
D | keep-tracking.c | 32 static int find_comm(struct evlist *evlist, const char *comm) in find_comm() argument 39 for (i = 0; i < evlist->core.nr_mmaps; i++) { in find_comm() 40 md = &evlist->mmap[i]; in find_comm() 75 struct evlist *evlist = NULL; in test__keep_tracking() local 86 evlist = evlist__new(); in test__keep_tracking() 87 CHECK_NOT_NULL__(evlist); in test__keep_tracking() 89 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__keep_tracking() 91 CHECK__(parse_events(evlist, "dummy:u", NULL)); in test__keep_tracking() 92 CHECK__(parse_events(evlist, "cycles:u", NULL)); in test__keep_tracking() 94 perf_evlist__config(evlist, &opts, NULL); in test__keep_tracking() [all …]
|
D | parse-events.c | 47 static int test__checkevent_tracepoint(struct evlist *evlist) in test__checkevent_tracepoint() argument 49 struct evsel *evsel = evlist__first(evlist); in test__checkevent_tracepoint() 51 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries); in test__checkevent_tracepoint() 52 TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->nr_groups); in test__checkevent_tracepoint() 60 static int test__checkevent_tracepoint_multi(struct evlist *evlist) in test__checkevent_tracepoint_multi() argument 64 TEST_ASSERT_VAL("wrong number of entries", evlist->core.nr_entries > 1); in test__checkevent_tracepoint_multi() 65 TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->nr_groups); in test__checkevent_tracepoint_multi() 67 evlist__for_each_entry(evlist, evsel) { in test__checkevent_tracepoint_multi() 78 static int test__checkevent_raw(struct evlist *evlist) in test__checkevent_raw() argument 80 struct evsel *evsel = evlist__first(evlist); in test__checkevent_raw() [all …]
|
D | backward-ring-buffer.c | 31 static int count_samples(struct evlist *evlist, int *sample_count, in count_samples() argument 36 for (i = 0; i < evlist->core.nr_mmaps; i++) { in count_samples() 37 struct mmap *map = &evlist->overwrite_mmap[i]; in count_samples() 61 static int do_test(struct evlist *evlist, int mmap_pages, in do_test() argument 67 err = evlist__mmap(evlist, mmap_pages); in do_test() 74 evlist__enable(evlist); in do_test() 76 evlist__disable(evlist); in do_test() 78 err = count_samples(evlist, sample_count, comm_count); in do_test() 79 evlist__munmap(evlist); in do_test() 88 struct evlist *evlist; in test__backward_ring_buffer() local [all …]
|
D | switch-tracking.c | 121 static int process_sample_event(struct evlist *evlist, in process_sample_event() argument 130 if (perf_evlist__parse_sample(evlist, event, &sample)) { in process_sample_event() 135 evsel = perf_evlist__id2evsel(evlist, sample.id); in process_sample_event() 171 static int process_event(struct evlist *evlist, union perf_event *event, in process_event() argument 175 return process_sample_event(evlist, event, switch_tracking); in process_event() 211 static int add_event(struct evlist *evlist, struct list_head *events, in add_event() argument 225 if (perf_evlist__parse_sample(evlist, event, &sample)) { in add_event() 260 static int process_events(struct evlist *evlist, in process_events() argument 270 for (i = 0; i < evlist->core.nr_mmaps; i++) { in process_events() 271 md = &evlist->mmap[i]; in process_events() [all …]
|
D | perf-record.c | 55 struct evlist *evlist = perf_evlist__new_dummy(); in test__PERF_RECORD() local 72 if (evlist == NULL) /* Fallback for kernels lacking PERF_COUNT_SW_DUMMY */ in test__PERF_RECORD() 73 evlist = perf_evlist__new_default(); in test__PERF_RECORD() 75 if (evlist == NULL) { in test__PERF_RECORD() 86 err = perf_evlist__create_maps(evlist, &opts.target); in test__PERF_RECORD() 98 err = perf_evlist__prepare_workload(evlist, &opts.target, argv, false, NULL); in test__PERF_RECORD() 107 evsel = evlist__first(evlist); in test__PERF_RECORD() 111 perf_evlist__config(evlist, &opts, NULL); in test__PERF_RECORD() 113 err = sched__get_first_possible_cpu(evlist->workload.pid, &cpu_mask); in test__PERF_RECORD() 125 if (sched_setaffinity(evlist->workload.pid, cpu_mask_size, &cpu_mask) < 0) { in test__PERF_RECORD() [all …]
|
D | openat-syscall-tp-fields.c | 38 struct evlist *evlist = evlist__new(); in test__syscall_openat_tp_fields() local 43 if (evlist == NULL) { in test__syscall_openat_tp_fields() 54 evlist__add(evlist, evsel); in test__syscall_openat_tp_fields() 56 err = perf_evlist__create_maps(evlist, &opts.target); in test__syscall_openat_tp_fields() 64 perf_thread_map__set_pid(evlist->core.threads, 0, getpid()); in test__syscall_openat_tp_fields() 66 err = evlist__open(evlist); in test__syscall_openat_tp_fields() 73 err = evlist__mmap(evlist, UINT_MAX); in test__syscall_openat_tp_fields() 80 evlist__enable(evlist); in test__syscall_openat_tp_fields() 90 for (i = 0; i < evlist->core.nr_mmaps; i++) { in test__syscall_openat_tp_fields() 94 md = &evlist->mmap[i]; in test__syscall_openat_tp_fields() [all …]
|
D | sw-clock.c | 35 struct evlist *evlist; in __test__sw_clock_freq() local 50 evlist = evlist__new(); in __test__sw_clock_freq() 51 if (evlist == NULL) { in __test__sw_clock_freq() 61 evlist__add(evlist, evsel); in __test__sw_clock_freq() 71 perf_evlist__set_maps(&evlist->core, cpus, threads); in __test__sw_clock_freq() 76 if (evlist__open(evlist)) { in __test__sw_clock_freq() 86 err = evlist__mmap(evlist, 128); in __test__sw_clock_freq() 93 evlist__enable(evlist); in __test__sw_clock_freq() 99 evlist__disable(evlist); in __test__sw_clock_freq() 101 md = &evlist->mmap[0]; in __test__sw_clock_freq() [all …]
|
D | task-exit.c | 46 struct evlist *evlist; in test__task_exit() local 59 evlist = perf_evlist__new_default(); in test__task_exit() 60 if (evlist == NULL) { in test__task_exit() 79 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__task_exit() 84 err = perf_evlist__prepare_workload(evlist, &target, argv, false, in test__task_exit() 91 evsel = evlist__first(evlist); in test__task_exit() 103 err = evlist__open(evlist); in test__task_exit() 110 if (evlist__mmap(evlist, 128) < 0) { in test__task_exit() 116 perf_evlist__start_workload(evlist); in test__task_exit() 119 md = &evlist->mmap[0]; in test__task_exit() [all …]
|
D | evsel-roundtrip-name.c | 15 struct evlist *evlist = evlist__new(); in perf_evsel__roundtrip_cache_name_test() local 17 if (evlist == NULL) in perf_evsel__roundtrip_cache_name_test() 29 err = parse_events(evlist, name, NULL); in perf_evsel__roundtrip_cache_name_test() 37 evsel = evlist__first(evlist); in perf_evsel__roundtrip_cache_name_test() 63 evlist__delete(evlist); in perf_evsel__roundtrip_cache_name_test() 71 struct evlist *evlist = evlist__new(); in __perf_evsel__name_array_test() local 73 if (evlist == NULL) in __perf_evsel__name_array_test() 77 err = parse_events(evlist, names[i], NULL); in __perf_evsel__name_array_test() 86 evlist__for_each_entry(evlist, evsel) { in __perf_evsel__name_array_test() 94 evlist__delete(evlist); in __perf_evsel__name_array_test()
|
D | code-reading.c | 373 struct evlist *evlist, in process_sample_event() argument 380 if (perf_evlist__parse_sample(evlist, event, &sample)) { in process_sample_event() 396 static int process_event(struct machine *machine, struct evlist *evlist, in process_event() argument 400 return process_sample_event(machine, evlist, event, state); in process_event() 419 static int process_events(struct machine *machine, struct evlist *evlist, in process_events() argument 426 for (i = 0; i < evlist->core.nr_mmaps; i++) { in process_events() 427 md = &evlist->mmap[i]; in process_events() 432 ret = process_event(machine, evlist, event, state); in process_events() 569 struct evlist *evlist = NULL; in do_test_code_reading() local 637 evlist = evlist__new(); in do_test_code_reading() [all …]
|
D | mmap-basic.c | 37 struct evlist *evlist; in test__basic_mmap() local 69 evlist = evlist__new(); in test__basic_mmap() 70 if (evlist == NULL) { in test__basic_mmap() 75 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__basic_mmap() 90 evlist__add(evlist, evsels[i]); in test__basic_mmap() 103 if (evlist__mmap(evlist, 128) < 0) { in test__basic_mmap() 115 md = &evlist->mmap[0]; in test__basic_mmap() 128 err = perf_evlist__parse_sample(evlist, event, &sample); in test__basic_mmap() 135 evsel = perf_evlist__id2evsel(evlist, sample.id); in test__basic_mmap() 148 evlist__for_each_entry(evlist, evsel) { in test__basic_mmap() [all …]
|
/Linux-v5.4/tools/perf/lib/tests/ |
D | test-evlist.c | 20 struct perf_evlist *evlist; in test_stat_cpu() local 35 evlist = perf_evlist__new(); in test_stat_cpu() 36 __T("failed to create evlist", evlist); in test_stat_cpu() 41 perf_evlist__add(evlist, evsel); in test_stat_cpu() 46 perf_evlist__add(evlist, evsel); in test_stat_cpu() 48 perf_evlist__set_maps(evlist, cpus, NULL); in test_stat_cpu() 50 err = perf_evlist__open(evlist); in test_stat_cpu() 53 perf_evlist__for_each_evsel(evlist, evsel) { in test_stat_cpu() 64 perf_evlist__close(evlist); in test_stat_cpu() 65 perf_evlist__delete(evlist); in test_stat_cpu() [all …]
|
/Linux-v5.4/tools/perf/lib/include/perf/ |
D | evlist.h | 12 LIBPERF_API void perf_evlist__init(struct perf_evlist *evlist); 13 LIBPERF_API void perf_evlist__add(struct perf_evlist *evlist, 15 LIBPERF_API void perf_evlist__remove(struct perf_evlist *evlist, 18 LIBPERF_API void perf_evlist__delete(struct perf_evlist *evlist); 19 LIBPERF_API struct perf_evsel* perf_evlist__next(struct perf_evlist *evlist, 21 LIBPERF_API int perf_evlist__open(struct perf_evlist *evlist); 22 LIBPERF_API void perf_evlist__close(struct perf_evlist *evlist); 23 LIBPERF_API void perf_evlist__enable(struct perf_evlist *evlist); 24 LIBPERF_API void perf_evlist__disable(struct perf_evlist *evlist); 26 #define perf_evlist__for_each_evsel(evlist, pos) \ argument [all …]
|
/Linux-v5.4/tools/perf/lib/include/internal/ |
D | evlist.h | 27 int perf_evlist__alloc_pollfd(struct perf_evlist *evlist); 28 int perf_evlist__add_pollfd(struct perf_evlist *evlist, int fd, 44 #define perf_evlist__for_each_entry(evlist, evsel) \ argument 45 __perf_evlist__for_each_entry(&(evlist)->entries, evsel) 60 #define perf_evlist__for_each_entry_reverse(evlist, evsel) \ argument 61 __perf_evlist__for_each_entry_reverse(&(evlist)->entries, evsel) 63 static inline struct perf_evsel *perf_evlist__first(struct perf_evlist *evlist) in perf_evlist__first() argument 65 return list_entry(evlist->entries.next, struct perf_evsel, node); in perf_evlist__first() 68 static inline struct perf_evsel *perf_evlist__last(struct perf_evlist *evlist) in perf_evlist__last() argument 70 return list_entry(evlist->entries.prev, struct perf_evsel, node); in perf_evlist__last() [all …]
|
/Linux-v5.4/tools/perf/arch/x86/tests/ |
D | perf-time-to-tsc.c | 60 struct evlist *evlist = NULL; in test__perf_time_to_tsc() local 77 evlist = evlist__new(); in test__perf_time_to_tsc() 78 CHECK_NOT_NULL__(evlist); in test__perf_time_to_tsc() 80 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__perf_time_to_tsc() 82 CHECK__(parse_events(evlist, "cycles:u", NULL)); in test__perf_time_to_tsc() 84 perf_evlist__config(evlist, &opts, NULL); in test__perf_time_to_tsc() 86 evsel = evlist__first(evlist); in test__perf_time_to_tsc() 92 CHECK__(evlist__open(evlist)); in test__perf_time_to_tsc() 94 CHECK__(evlist__mmap(evlist, UINT_MAX)); in test__perf_time_to_tsc() 96 pc = evlist->mmap[0].core.base; in test__perf_time_to_tsc() [all …]
|
/Linux-v5.4/tools/perf/arch/arm64/util/ |
D | arm-spe.c | 32 struct evlist *evlist; member 37 struct evlist *evlist __maybe_unused) in arm_spe_info_priv_size() 54 if (!session->evlist->core.nr_mmaps) in arm_spe_info_fill() 64 struct evlist *evlist, in arm_spe_recording_options() argument 75 sper->evlist = evlist; in arm_spe_recording_options() 77 evlist__for_each_entry(evlist, evsel) { in arm_spe_recording_options() 121 perf_evlist__to_front(evlist, arm_spe_evsel); in arm_spe_recording_options() 128 err = parse_events(evlist, "dummy:u", NULL); in arm_spe_recording_options() 132 tracking_evsel = evlist__last(evlist); in arm_spe_recording_options() 133 perf_evlist__set_tracking_event(evlist, tracking_evsel); in arm_spe_recording_options() [all …]
|
/Linux-v5.4/tools/perf/ |
D | builtin-top.c | 137 if (!symbol__hists(sym, top->evlist->core.nr_entries)) { in perf_top__parse_source() 261 if (top->evlist->enabled) { in perf_top__show_details() 275 struct evlist *evlist = t->evlist; in perf_top__resort_hists() local 278 evlist__for_each_entry(evlist, pos) { in perf_top__resort_hists() 287 if (evlist->enabled) { in perf_top__resort_hists() 308 evlist__for_each_entry(evlist, pos) { in perf_top__resort_hists() 442 if (top->evlist->core.nr_entries > 1) in perf_top__print_mapped_keys() 477 return top->evlist->core.nr_entries > 1 ? 1 : 0; in perf_top__key_mapped() 523 if (top->evlist->core.nr_entries > 1) { in perf_top__handle_keypress() 529 evlist__for_each_entry(top->evlist, top->sym_evsel) in perf_top__handle_keypress() [all …]
|
D | builtin-record.c | 81 struct evlist *evlist; member 354 struct evlist *evlist = rec->evlist; in record__aio_mmap_read_sync() local 355 struct mmap *maps = evlist->mmap; in record__aio_mmap_read_sync() 360 for (i = 0; i < evlist->core.nr_mmaps; i++) { in record__aio_mmap_read_sync() 606 for (i = 0; i < rec->evlist->core.nr_mmaps; i++) { in record__auxtrace_read_snapshot_all() 607 struct mmap *map = &rec->evlist->mmap[i]; in record__auxtrace_read_snapshot_all() 655 rec->itr = auxtrace_record__init(rec->evlist, &err); in record__auxtrace_init() 665 return auxtrace_parse_filters(rec->evlist); in record__auxtrace_init() 703 struct evlist *evlist) in record__mmap_evlist() argument 711 if (evlist__mmap_ex(evlist, opts->mmap_pages, in record__mmap_evlist() [all …]
|