/kernel/linux/linux-5.10/tools/perf/util/ |
D | evlist.h | 51 struct evlist { struct 68 void (*trace_event_sample_raw)(struct evlist *evlist, argument 89 struct evlist *evlist__new(void); argument 90 struct evlist *perf_evlist__new_default(void); 91 struct evlist *perf_evlist__new_dummy(void); 92 void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus, 94 void evlist__exit(struct evlist *evlist); 95 void evlist__delete(struct evlist *evlist); 97 void evlist__add(struct evlist *evlist, struct evsel *entry); 98 void evlist__remove(struct evlist *evlist, struct evsel *evsel); [all …]
|
D | evlist.c | 59 void evlist__init(struct evlist *evlist, struct perf_cpu_map *cpus, in evlist__init() argument 62 perf_evlist__init(&evlist->core); in evlist__init() 63 perf_evlist__set_maps(&evlist->core, cpus, threads); in evlist__init() 64 evlist->workload.pid = -1; in evlist__init() 65 evlist->bkw_mmap_state = BKW_MMAP_NOTREADY; in evlist__init() 66 evlist->ctl_fd.fd = -1; in evlist__init() 67 evlist->ctl_fd.ack = -1; in evlist__init() 68 evlist->ctl_fd.pos = -1; in evlist__init() 71 struct evlist *evlist__new(void) in evlist__new() 73 struct evlist *evlist = zalloc(sizeof(*evlist)); in evlist__new() local [all …]
|
D | sideband_evlist.c | 15 int perf_evlist__add_sb_event(struct evlist *evlist, struct perf_event_attr *attr, in perf_evlist__add_sb_event() argument 25 evsel = evsel__new_idx(attr, evlist->core.nr_entries); in perf_evlist__add_sb_event() 31 evlist__add(evlist, evsel); in perf_evlist__add_sb_event() 37 struct evlist *evlist = arg; in perf_evlist__poll_thread() local 52 if (evlist->thread.done) in perf_evlist__poll_thread() 56 evlist__poll(evlist, 1000); in perf_evlist__poll_thread() 58 for (i = 0; i < evlist->core.nr_mmaps; i++) { in perf_evlist__poll_thread() 59 struct mmap *map = &evlist->mmap[i]; in perf_evlist__poll_thread() 65 struct evsel *evsel = perf_evlist__event2evsel(evlist, event); in perf_evlist__poll_thread() 84 void evlist__set_cb(struct evlist *evlist, evsel__sb_cb_t cb, void *data) in evlist__set_cb() argument [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 | 24 static struct evsel *evsel__read_sampler(struct evsel *evsel, struct evlist *evlist) in evsel__read_sampler() argument 29 evlist__for_each_entry(evlist, evsel) { in evsel__read_sampler() 50 static void evsel__config_leader_sampling(struct evsel *evsel, struct evlist *evlist) in evsel__config_leader_sampling() argument 60 read_sampler = evsel__read_sampler(evsel, evlist); in evsel__config_leader_sampling() 92 void perf_evlist__config(struct evlist *evlist, struct record_opts *opts, in perf_evlist__config() argument 105 perf_evlist__set_leader(evlist); in perf_evlist__config() 107 if (evlist->core.cpus->map[0] < 0) in perf_evlist__config() 112 evlist__for_each_entry(evlist, evsel) { in perf_evlist__config() 119 evlist__for_each_entry(evlist, evsel) in perf_evlist__config() 120 evsel__config_leader_sampling(evsel, evlist); in perf_evlist__config() [all …]
|
D | cgroup.c | 38 static struct cgroup *evlist__find_cgroup(struct evlist *evlist, const char *str) in evlist__find_cgroup() argument 44 evlist__for_each_entry(evlist, counter) { in evlist__find_cgroup() 83 struct cgroup *evlist__findnew_cgroup(struct evlist *evlist, const char *name) in evlist__findnew_cgroup() argument 85 struct cgroup *cgroup = evlist__find_cgroup(evlist, name); in evlist__findnew_cgroup() 90 static int add_cgroup(struct evlist *evlist, const char *str) in add_cgroup() argument 93 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str); in add_cgroup() 103 evlist__for_each_entry(evlist, counter) { in add_cgroup() 144 void evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup) in evlist__set_default_cgroup() argument 148 evlist__for_each_entry(evlist, evsel) in evlist__set_default_cgroup() 155 struct evlist *evlist = *(struct evlist **)opt->value; in parse_cgroups() local [all …]
|
/kernel/linux/linux-5.10/tools/lib/perf/ |
D | evlist.c | 27 void perf_evlist__init(struct perf_evlist *evlist) in perf_evlist__init() argument 32 INIT_HLIST_HEAD(&evlist->heads[i]); in perf_evlist__init() 33 INIT_LIST_HEAD(&evlist->entries); in perf_evlist__init() 34 evlist->nr_entries = 0; in perf_evlist__init() 35 fdarray__init(&evlist->pollfd, 64); in perf_evlist__init() 38 static void __perf_evlist__propagate_maps(struct perf_evlist *evlist, in __perf_evlist__propagate_maps() argument 45 if (!evsel->own_cpus || evlist->has_user_cpus) { in __perf_evlist__propagate_maps() 47 evsel->cpus = perf_cpu_map__get(evlist->cpus); in __perf_evlist__propagate_maps() 48 } else if (!evsel->system_wide && perf_cpu_map__empty(evlist->cpus)) { in __perf_evlist__propagate_maps() 50 evsel->cpus = perf_cpu_map__get(evlist->cpus); in __perf_evlist__propagate_maps() [all …]
|
/kernel/linux/linux-5.10/tools/lib/perf/tests/ |
D | test-evlist.c | 31 struct perf_evlist *evlist; in test_stat_cpu() local 46 evlist = perf_evlist__new(); in test_stat_cpu() 47 __T("failed to create evlist", evlist); in test_stat_cpu() 52 perf_evlist__add(evlist, evsel); in test_stat_cpu() 57 perf_evlist__add(evlist, evsel); in test_stat_cpu() 59 perf_evlist__set_maps(evlist, cpus, NULL); in test_stat_cpu() 61 err = perf_evlist__open(evlist); in test_stat_cpu() 64 perf_evlist__for_each_evsel(evlist, evsel) { in test_stat_cpu() 75 perf_evlist__close(evlist); in test_stat_cpu() 76 perf_evlist__delete(evlist); in test_stat_cpu() [all …]
|
/kernel/linux/linux-5.10/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 | expand-cgroup.c | 16 static int test_expand_events(struct evlist *evlist, in test_expand_events() argument 29 TEST_ASSERT_VAL("evlist is empty", !perf_evlist__empty(evlist)); in test_expand_events() 31 nr_events = evlist->core.nr_entries; in test_expand_events() 38 evlist__for_each_entry(evlist, evsel) { in test_expand_events() 47 was_group_event = evsel__is_group_event(evlist__first(evlist)); in test_expand_events() 48 nr_members = evlist__first(evlist)->core.nr_members; in test_expand_events() 50 ret = evlist__expand_cgroup(evlist, cgrp_str, metric_events, false); in test_expand_events() 57 if (evlist->core.nr_entries != nr_events * nr_cgrps) { in test_expand_events() 63 evlist__for_each_entry(evlist, evsel) { in test_expand_events() 103 struct evlist *evlist; in expand_default_events() local [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 | keep-tracking.c | 33 static int find_comm(struct evlist *evlist, const char *comm) in find_comm() argument 40 for (i = 0; i < evlist->core.nr_mmaps; i++) { in find_comm() 41 md = &evlist->mmap[i]; in find_comm() 76 struct evlist *evlist = NULL; in test__keep_tracking() local 87 evlist = evlist__new(); in test__keep_tracking() 88 CHECK_NOT_NULL__(evlist); in test__keep_tracking() 90 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__keep_tracking() 92 CHECK__(parse_events(evlist, "dummy:u", NULL)); in test__keep_tracking() 93 CHECK__(parse_events(evlist, "cycles:u", NULL)); in test__keep_tracking() 95 perf_evlist__config(evlist, &opts, NULL); in test__keep_tracking() [all …]
|
D | backward-ring-buffer.c | 32 static int count_samples(struct evlist *evlist, int *sample_count, in count_samples() argument 37 for (i = 0; i < evlist->core.nr_mmaps; i++) { in count_samples() 38 struct mmap *map = &evlist->overwrite_mmap[i]; in count_samples() 62 static int do_test(struct evlist *evlist, int mmap_pages, in do_test() argument 68 err = evlist__mmap(evlist, mmap_pages); in do_test() 75 evlist__enable(evlist); in do_test() 77 evlist__disable(evlist); in do_test() 79 err = count_samples(evlist, sample_count, comm_count); in do_test() 80 evlist__munmap(evlist); in do_test() 89 struct evlist *evlist; in test__backward_ring_buffer() local [all …]
|
D | switch-tracking.c | 122 static int process_sample_event(struct evlist *evlist, in process_sample_event() argument 131 if (perf_evlist__parse_sample(evlist, event, &sample)) { in process_sample_event() 136 evsel = perf_evlist__id2evsel(evlist, sample.id); in process_sample_event() 172 static int process_event(struct evlist *evlist, union perf_event *event, in process_event() argument 176 return process_sample_event(evlist, event, switch_tracking); in process_event() 212 static int add_event(struct evlist *evlist, struct list_head *events, in add_event() argument 226 if (perf_evlist__parse_sample(evlist, event, &sample)) { in add_event() 261 static int process_events(struct evlist *evlist, in process_events() argument 271 for (i = 0; i < evlist->core.nr_mmaps; i++) { in process_events() 272 md = &evlist->mmap[i]; in process_events() [all …]
|
D | pfm.c | 36 static int count_pfm_events(struct perf_evlist *evlist) in count_pfm_events() argument 41 perf_evlist__for_each_entry(evlist, evsel) { in count_pfm_events() 49 struct evlist *evlist; in test__pfm_events() local 87 evlist = evlist__new(); in test__pfm_events() 88 if (evlist == NULL) in test__pfm_events() 91 opt.value = evlist; in test__pfm_events() 96 count_pfm_events(&evlist->core), in test__pfm_events() 99 evlist->nr_groups, in test__pfm_events() 102 evlist__delete(evlist); in test__pfm_events() 109 struct evlist *evlist; in test__pfm_group() local [all …]
|
D | perf-record.c | 56 struct evlist *evlist = perf_evlist__new_dummy(); in test__PERF_RECORD() local 73 if (evlist == NULL) /* Fallback for kernels lacking PERF_COUNT_SW_DUMMY */ in test__PERF_RECORD() 74 evlist = perf_evlist__new_default(); in test__PERF_RECORD() 76 if (evlist == NULL) { in test__PERF_RECORD() 87 err = perf_evlist__create_maps(evlist, &opts.target); in test__PERF_RECORD() 99 err = perf_evlist__prepare_workload(evlist, &opts.target, argv, false, NULL); in test__PERF_RECORD() 108 evsel = evlist__first(evlist); in test__PERF_RECORD() 112 perf_evlist__config(evlist, &opts, NULL); in test__PERF_RECORD() 114 err = sched__get_first_possible_cpu(evlist->workload.pid, &cpu_mask); in test__PERF_RECORD() 126 if (sched_setaffinity(evlist->workload.pid, cpu_mask_size, &cpu_mask) < 0) { in test__PERF_RECORD() [all …]
|
D | sw-clock.c | 36 struct evlist *evlist; in __test__sw_clock_freq() local 51 evlist = evlist__new(); in __test__sw_clock_freq() 52 if (evlist == NULL) { in __test__sw_clock_freq() 62 evlist__add(evlist, evsel); in __test__sw_clock_freq() 72 perf_evlist__set_maps(&evlist->core, cpus, threads); in __test__sw_clock_freq() 77 if (evlist__open(evlist)) { in __test__sw_clock_freq() 87 err = evlist__mmap(evlist, 128); in __test__sw_clock_freq() 94 evlist__enable(evlist); in __test__sw_clock_freq() 100 evlist__disable(evlist); in __test__sw_clock_freq() 102 md = &evlist->mmap[0]; in __test__sw_clock_freq() [all …]
|
D | task-exit.c | 47 struct evlist *evlist; in test__task_exit() local 61 evlist = perf_evlist__new_default(); in test__task_exit() 62 if (evlist == NULL) { in test__task_exit() 81 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__task_exit() 86 err = perf_evlist__prepare_workload(evlist, &target, argv, false, in test__task_exit() 93 evsel = evlist__first(evlist); in test__task_exit() 105 err = evlist__open(evlist); in test__task_exit() 112 if (evlist__mmap(evlist, 128) < 0) { in test__task_exit() 119 perf_evlist__start_workload(evlist); in test__task_exit() 122 md = &evlist->mmap[0]; in test__task_exit() [all …]
|
D | openat-syscall-tp-fields.c | 39 struct evlist *evlist = evlist__new(); in test__syscall_openat_tp_fields() local 44 if (evlist == NULL) { in test__syscall_openat_tp_fields() 55 evlist__add(evlist, evsel); in test__syscall_openat_tp_fields() 57 err = perf_evlist__create_maps(evlist, &opts.target); in test__syscall_openat_tp_fields() 65 perf_thread_map__set_pid(evlist->core.threads, 0, getpid()); in test__syscall_openat_tp_fields() 67 err = evlist__open(evlist); in test__syscall_openat_tp_fields() 74 err = evlist__mmap(evlist, UINT_MAX); in test__syscall_openat_tp_fields() 81 evlist__enable(evlist); in test__syscall_openat_tp_fields() 91 for (i = 0; i < evlist->core.nr_mmaps; i++) { in test__syscall_openat_tp_fields() 95 md = &evlist->mmap[i]; in test__syscall_openat_tp_fields() [all …]
|
D | parse-metric.c | 101 static void load_runtime_stat(struct runtime_stat *st, struct evlist *evlist, in load_runtime_stat() argument 107 evlist__for_each_entry(evlist, evsel) { in load_runtime_stat() 113 static double compute_single(struct rblist *metric_events, struct evlist *evlist, in compute_single() argument 120 evlist__for_each_entry(evlist, evsel) { in compute_single() 142 struct evlist *evlist; in __compute_metric() local 149 evlist = evlist__new(); in __compute_metric() 150 if (!evlist) in __compute_metric() 155 evlist__delete(evlist); in __compute_metric() 159 perf_evlist__set_maps(&evlist->core, cpus, NULL); in __compute_metric() 163 err = metricgroup__parse_groups_test(evlist, &map, name, in __compute_metric() [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() 28 err = parse_events(evlist, name, NULL); in perf_evsel__roundtrip_cache_name_test() 36 evsel = evlist__first(evlist); in perf_evsel__roundtrip_cache_name_test() 61 evlist__delete(evlist); in perf_evsel__roundtrip_cache_name_test() 69 struct evlist *evlist = evlist__new(); in __perf_evsel__name_array_test() local 71 if (evlist == NULL) in __perf_evsel__name_array_test() 75 err = parse_events(evlist, names[i], NULL); in __perf_evsel__name_array_test() 84 evlist__for_each_entry(evlist, evsel) { in __perf_evsel__name_array_test() 92 evlist__delete(evlist); in __perf_evsel__name_array_test()
|
/kernel/linux/linux-5.10/tools/lib/perf/include/perf/ |
D | evlist.h | 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 27 for ((pos) = perf_evlist__next((evlist), NULL); \ [all …]
|
/kernel/linux/linux-5.10/tools/lib/perf/include/internal/ |
D | evlist.h | 46 int perf_evlist__alloc_pollfd(struct perf_evlist *evlist); 47 int perf_evlist__add_pollfd(struct perf_evlist *evlist, int fd, 50 int perf_evlist__mmap_ops(struct perf_evlist *evlist, 54 void perf_evlist__init(struct perf_evlist *evlist); 55 void perf_evlist__exit(struct perf_evlist *evlist); 70 #define perf_evlist__for_each_entry(evlist, evsel) \ argument 71 __perf_evlist__for_each_entry(&(evlist)->entries, evsel) 86 #define perf_evlist__for_each_entry_reverse(evlist, evsel) \ argument 87 __perf_evlist__for_each_entry_reverse(&(evlist)->entries, evsel) 104 #define perf_evlist__for_each_entry_safe(evlist, tmp, evsel) \ argument [all …]
|
/kernel/linux/linux-5.10/tools/lib/perf/Documentation/examples/ |
D | counting.c | 21 struct perf_evlist *evlist; in main() local 46 evlist = perf_evlist__new(); in main() 47 if (!evlist) { in main() 56 perf_evlist__add(evlist, evsel); in main() 62 perf_evlist__add(evlist, evsel); in main() 63 perf_evlist__set_maps(evlist, NULL, threads); in main() 64 err = perf_evlist__open(evlist); in main() 69 perf_evlist__enable(evlist); in main() 71 perf_evlist__disable(evlist); in main() 72 perf_evlist__for_each_evsel(evlist, evsel) { in main() [all …]
|
/kernel/linux/linux-5.10/tools/perf/arch/x86/tests/ |
D | perf-time-to-tsc.c | 61 struct evlist *evlist = NULL; in test__perf_time_to_tsc() local 78 evlist = evlist__new(); in test__perf_time_to_tsc() 79 CHECK_NOT_NULL__(evlist); in test__perf_time_to_tsc() 81 perf_evlist__set_maps(&evlist->core, cpus, threads); in test__perf_time_to_tsc() 83 CHECK__(parse_events(evlist, "cycles:u", NULL)); in test__perf_time_to_tsc() 85 perf_evlist__config(evlist, &opts, NULL); in test__perf_time_to_tsc() 87 evsel = evlist__first(evlist); in test__perf_time_to_tsc() 93 CHECK__(evlist__open(evlist)); in test__perf_time_to_tsc() 95 CHECK__(evlist__mmap(evlist, UINT_MAX)); in test__perf_time_to_tsc() 97 pc = evlist->mmap[0].core.base; in test__perf_time_to_tsc() [all …]
|