Home
last modified time | relevance | path

Searched refs:evsel (Results 1 – 25 of 156) sorted by relevance

1234567

/tools/perf/util/
Devsel.h43 struct evsel { struct
90 struct evsel **metric_events; argument
91 struct evsel *metric_leader; argument
114 struct evsel *leader; argument
156 static inline struct perf_cpu_map *evsel__cpus(struct evsel *evsel) in evsel__cpus() argument
158 return perf_evsel__cpus(&evsel->core); in evsel__cpus()
161 static inline int evsel__nr_cpus(struct evsel *evsel) in evsel__nr_cpus() argument
163 return evsel__cpus(evsel)->nr; in evsel__nr_cpus()
169 void evsel__compute_deltas(struct evsel *evsel, int cpu, int thread,
173 int (*init)(struct evsel *evsel),
[all …]
Devsel.c59 static int evsel__no_extra_init(struct evsel *evsel __maybe_unused) in evsel__no_extra_init()
66 static void evsel__no_extra_fini(struct evsel *evsel __maybe_unused) in evsel__no_extra_fini()
72 int (*init)(struct evsel *evsel);
73 void (*fini)(struct evsel *evsel);
75 .size = sizeof(struct evsel),
80 int evsel__object_config(size_t object_size, int (*init)(struct evsel *evsel), in evsel__object_config() argument
81 void (*fini)(struct evsel *evsel)) in evsel__object_config() argument
180 void evsel__calc_id_pos(struct evsel *evsel) in evsel__calc_id_pos() argument
182 evsel->id_pos = __perf_evsel__calc_id_pos(evsel->core.attr.sample_type); in evsel__calc_id_pos()
183 evsel->is_pos = __perf_evsel__calc_is_pos(evsel->core.attr.sample_type); in evsel__calc_id_pos()
[all …]
Dstat.c78 bool __perf_evsel_stat__is(struct evsel *evsel, in __perf_evsel_stat__is() argument
81 struct perf_stat_evsel *ps = evsel->stats; in __perf_evsel_stat__is()
107 static void perf_stat_evsel_id_init(struct evsel *evsel) in perf_stat_evsel_id_init() argument
109 struct perf_stat_evsel *ps = evsel->stats; in perf_stat_evsel_id_init()
115 if (!strcmp(evsel__name(evsel), id_str[i])) { in perf_stat_evsel_id_init()
122 static void evsel__reset_stat_priv(struct evsel *evsel) in evsel__reset_stat_priv() argument
125 struct perf_stat_evsel *ps = evsel->stats; in evsel__reset_stat_priv()
130 perf_stat_evsel_id_init(evsel); in evsel__reset_stat_priv()
133 static int evsel__alloc_stat_priv(struct evsel *evsel) in evsel__alloc_stat_priv() argument
135 evsel->stats = zalloc(sizeof(struct perf_stat_evsel)); in evsel__alloc_stat_priv()
[all …]
Drecord.c24 static struct evsel *evsel__read_sampler(struct evsel *evsel, struct evlist *evlist) in evsel__read_sampler() argument
26 struct evsel *leader = evsel->leader; in evsel__read_sampler()
29 evlist__for_each_entry(evlist, evsel) { in evsel__read_sampler()
30 if (evsel->leader == leader && evsel != evsel->leader) in evsel__read_sampler()
31 return evsel; in evsel__read_sampler()
38 static u64 evsel__config_term_mask(struct evsel *evsel) in evsel__config_term_mask() argument
41 struct list_head *config_terms = &evsel->config_terms; in evsel__config_term_mask()
50 static void evsel__config_leader_sampling(struct evsel *evsel, struct evlist *evlist) in evsel__config_leader_sampling() argument
52 struct perf_event_attr *attr = &evsel->core.attr; in evsel__config_leader_sampling()
53 struct evsel *leader = evsel->leader; in evsel__config_leader_sampling()
[all …]
Devlist.c114 struct evsel *first = evlist__first(evlist); in perf_evlist__set_id_pos()
122 struct evsel *evsel; in perf_evlist__update_id_pos() local
124 evlist__for_each_entry(evlist, evsel) in perf_evlist__update_id_pos()
125 evsel__calc_id_pos(evsel); in perf_evlist__update_id_pos()
132 struct evsel *pos, *n; in evlist__purge()
162 void evlist__add(struct evlist *evlist, struct evsel *entry) in evlist__add()
174 void evlist__remove(struct evlist *evlist, struct evsel *evsel) in evlist__remove() argument
176 evsel->evlist = NULL; in evlist__remove()
177 perf_evlist__remove(&evlist->core, &evsel->core); in evlist__remove()
183 struct evsel *evsel, *temp; in perf_evlist__splice_list_tail() local
[all …]
Dsideband_evlist.c18 struct evsel *evsel; in perf_evlist__add_sb_event() local
25 evsel = evsel__new_idx(attr, evlist->core.nr_entries); in perf_evlist__add_sb_event()
26 if (!evsel) in perf_evlist__add_sb_event()
29 evsel->side_band.cb = cb; in perf_evlist__add_sb_event()
30 evsel->side_band.data = data; in perf_evlist__add_sb_event()
31 evlist__add(evlist, evsel); in perf_evlist__add_sb_event()
65 struct evsel *evsel = perf_evlist__event2evsel(evlist, event); in perf_evlist__poll_thread() local
67 if (evsel && evsel->side_band.cb) in perf_evlist__poll_thread()
68 evsel->side_band.cb(event, evsel->side_band.data); in perf_evlist__poll_thread()
86 struct evsel *evsel; in evlist__set_cb() local
[all …]
Dperf_api_probe.c12 typedef void (*setup_probe_fn_t)(struct evsel *evsel);
17 struct evsel *evsel; in perf_do_probe_api() local
29 evsel = evlist__first(evlist); in perf_do_probe_api()
32 fd = sys_perf_event_open(&evsel->core.attr, pid, cpu, -1, flags); in perf_do_probe_api()
44 fn(evsel); in perf_do_probe_api()
46 fd = sys_perf_event_open(&evsel->core.attr, pid, cpu, -1, flags); in perf_do_probe_api()
81 static void perf_probe_sample_identifier(struct evsel *evsel) in perf_probe_sample_identifier() argument
83 evsel->core.attr.sample_type |= PERF_SAMPLE_IDENTIFIER; in perf_probe_sample_identifier()
86 static void perf_probe_comm_exec(struct evsel *evsel) in perf_probe_comm_exec() argument
88 evsel->core.attr.comm_exec = 1; in perf_probe_comm_exec()
[all …]
Devlist.h65 struct evsel *selected;
97 void evlist__add(struct evlist *evlist, struct evsel *entry);
98 void evlist__remove(struct evlist *evlist, struct evsel *evsel);
153 struct evsel *
156 struct evsel *
169 struct evsel *perf_evlist__id2evsel(struct evlist *evlist, u64 id);
170 struct evsel *perf_evlist__id2evsel_strict(struct evlist *evlist,
219 struct evsel *evsel, int idx);
222 struct evsel *evsel);
225 int perf_evlist__apply_filters(struct evlist *evlist, struct evsel **err_evsel);
[all …]
Dkvm-stat.h11 struct evsel;
50 void (*get_key)(struct evsel *evsel,
57 bool (*is_begin_event)(struct evsel *evsel,
60 bool (*is_end_event)(struct evsel *evsel,
114 void exit_event_get_key(struct evsel *evsel,
117 bool exit_event_begin(struct evsel *evsel,
120 bool exit_event_end(struct evsel *evsel,
127 bool kvm_exit_event(struct evsel *evsel);
128 bool kvm_entry_event(struct evsel *evsel);
Dcounts.c53 void evsel__reset_counts(struct evsel *evsel) in evsel__reset_counts() argument
55 perf_counts__reset(evsel->counts); in evsel__reset_counts()
58 int evsel__alloc_counts(struct evsel *evsel, int ncpus, int nthreads) in evsel__alloc_counts() argument
60 evsel->counts = perf_counts__new(ncpus, nthreads); in evsel__alloc_counts()
61 return evsel->counts != NULL ? 0 : -ENOMEM; in evsel__alloc_counts()
64 void evsel__free_counts(struct evsel *evsel) in evsel__free_counts() argument
66 perf_counts__delete(evsel->counts); in evsel__free_counts()
67 evsel->counts = NULL; in evsel__free_counts()
Dstat-shadow.c27 struct evsel *evsel; member
60 if (a->evsel == NULL && b->evsel == NULL) { in saved_value_cmp()
70 if (a->evsel == b->evsel) in saved_value_cmp()
72 if ((char *)a->evsel < (char *)b->evsel) in saved_value_cmp()
98 static struct saved_value *saved_value_lookup(struct evsel *evsel, in saved_value_lookup() argument
109 .evsel = evsel, in saved_value_lookup()
149 static int evsel_context(struct evsel *evsel) in evsel_context() argument
153 if (evsel->core.attr.exclude_kernel) in evsel_context()
155 if (evsel->core.attr.exclude_user) in evsel_context()
157 if (evsel->core.attr.exclude_hv) in evsel_context()
[all …]
/tools/perf/tests/
Dparse-events.c49 struct evsel *evsel = evlist__first(evlist); in test__checkevent_tracepoint() local
53 TEST_ASSERT_VAL("wrong type", PERF_TYPE_TRACEPOINT == evsel->core.attr.type); in test__checkevent_tracepoint()
55 PERF_TP_SAMPLE_TYPE == evsel->core.attr.sample_type); in test__checkevent_tracepoint()
56 TEST_ASSERT_VAL("wrong sample_period", 1 == evsel->core.attr.sample_period); in test__checkevent_tracepoint()
62 struct evsel *evsel; in test__checkevent_tracepoint_multi() local
67 evlist__for_each_entry(evlist, evsel) { in test__checkevent_tracepoint_multi()
69 PERF_TYPE_TRACEPOINT == evsel->core.attr.type); in test__checkevent_tracepoint_multi()
71 PERF_TP_SAMPLE_TYPE == evsel->core.attr.sample_type); in test__checkevent_tracepoint_multi()
73 1 == evsel->core.attr.sample_period); in test__checkevent_tracepoint_multi()
80 struct evsel *evsel = evlist__first(evlist); in test__checkevent_raw() local
[all …]
Devsel-tp-sched.c8 static int perf_evsel__test_field(struct evsel *evsel, const char *name, in perf_evsel__test_field() argument
11 struct tep_format_field *field = evsel__field(evsel, name); in perf_evsel__test_field()
16 pr_debug("%s: \"%s\" field not found!\n", evsel->name, name); in perf_evsel__test_field()
23 evsel->name, name, is_signed, should_be_signed); in perf_evsel__test_field()
29 evsel->name, name, field->size, size); in perf_evsel__test_field()
38 struct evsel *evsel = evsel__newtp("sched", "sched_switch"); in test__perf_evsel__tp_sched_test() local
41 if (IS_ERR(evsel)) { in test__perf_evsel__tp_sched_test()
42 pr_debug("evsel__newtp failed with %ld\n", PTR_ERR(evsel)); in test__perf_evsel__tp_sched_test()
46 if (perf_evsel__test_field(evsel, "prev_comm", 16, false)) in test__perf_evsel__tp_sched_test()
49 if (perf_evsel__test_field(evsel, "prev_pid", 4, true)) in test__perf_evsel__tp_sched_test()
[all …]
Devent-times.c19 struct evsel *evsel = evlist__last(evlist); in attach__enable_on_exec() local
41 evsel->core.attr.enable_on_exec = 1; in attach__enable_on_exec()
61 struct evsel *evsel = evlist__last(evlist); in attach__current_disabled() local
73 evsel->core.attr.disabled = 1; in attach__current_disabled()
75 err = evsel__open_per_thread(evsel, threads); in attach__current_disabled()
82 return evsel__enable(evsel) == 0 ? TEST_OK : TEST_FAIL; in attach__current_disabled()
87 struct evsel *evsel = evlist__last(evlist); in attach__current_enabled() local
99 err = evsel__open_per_thread(evsel, threads); in attach__current_enabled()
107 struct evsel *evsel = evlist__last(evlist); in detach__disable() local
109 return evsel__enable(evsel); in detach__disable()
[all …]
Devsel-roundtrip-name.c14 struct evsel *evsel; in perf_evsel__roundtrip_cache_name_test() local
36 evsel = evlist__first(evlist); in perf_evsel__roundtrip_cache_name_test()
46 if (evsel->idx != idx) in perf_evsel__roundtrip_cache_name_test()
51 if (strcmp(evsel__name(evsel), name)) { in perf_evsel__roundtrip_cache_name_test()
52 pr_debug("%s != %s\n", evsel__name(evsel), name); in perf_evsel__roundtrip_cache_name_test()
56 evsel = evsel__next(evsel); in perf_evsel__roundtrip_cache_name_test()
68 struct evsel *evsel; in __perf_evsel__name_array_test() local
84 evlist__for_each_entry(evlist, evsel) { in __perf_evsel__name_array_test()
85 if (strcmp(evsel__name(evsel), names[evsel->idx])) { in __perf_evsel__name_array_test()
87 pr_debug("%s != %s\n", evsel__name(evsel), names[evsel->idx]); in __perf_evsel__name_array_test()
Dopenat-syscall.c19 struct evsel *evsel; in test__openat_syscall_event() local
30 evsel = evsel__newtp("syscalls", "sys_enter_openat"); in test__openat_syscall_event()
31 if (IS_ERR(evsel)) { in test__openat_syscall_event()
37 if (evsel__open_per_thread(evsel, threads) < 0) { in test__openat_syscall_event()
49 if (evsel__read_on_cpu(evsel, 0, 0) < 0) { in test__openat_syscall_event()
54 if (perf_counts(evsel->counts, 0, 0)->val != nr_openat_calls) { in test__openat_syscall_event()
56 nr_openat_calls, perf_counts(evsel->counts, 0, 0)->val); in test__openat_syscall_event()
62 perf_evsel__close_fd(&evsel->core); in test__openat_syscall_event()
64 evsel__delete(evsel); in test__openat_syscall_event()
/tools/lib/perf/
Devsel.c19 void perf_evsel__init(struct perf_evsel *evsel, struct perf_event_attr *attr) in perf_evsel__init() argument
21 INIT_LIST_HEAD(&evsel->node); in perf_evsel__init()
22 evsel->attr = *attr; in perf_evsel__init()
27 struct perf_evsel *evsel = zalloc(sizeof(*evsel)); in perf_evsel__new() local
29 if (evsel != NULL) in perf_evsel__new()
30 perf_evsel__init(evsel, attr); in perf_evsel__new()
32 return evsel; in perf_evsel__new()
35 void perf_evsel__delete(struct perf_evsel *evsel) in perf_evsel__delete() argument
37 free(evsel); in perf_evsel__delete()
42 int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads) in perf_evsel__alloc_fd() argument
[all …]
Devlist.c39 struct perf_evsel *evsel) in __perf_evlist__propagate_maps() argument
45 if (!evsel->own_cpus || evlist->has_user_cpus) { in __perf_evlist__propagate_maps()
46 perf_cpu_map__put(evsel->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()
49 perf_cpu_map__put(evsel->cpus); in __perf_evlist__propagate_maps()
50 evsel->cpus = perf_cpu_map__get(evlist->cpus); in __perf_evlist__propagate_maps()
51 } else if (evsel->cpus != evsel->own_cpus) { in __perf_evlist__propagate_maps()
52 perf_cpu_map__put(evsel->cpus); in __perf_evlist__propagate_maps()
53 evsel->cpus = perf_cpu_map__get(evsel->own_cpus); in __perf_evlist__propagate_maps()
[all …]
/tools/perf/arch/x86/util/
Dkvm-stat.c31 static void mmio_event_get_key(struct evsel *evsel, struct perf_sample *sample, in mmio_event_get_key() argument
34 key->key = evsel__intval(evsel, sample, "gpa"); in mmio_event_get_key()
35 key->info = evsel__intval(evsel, sample, "type"); in mmio_event_get_key()
42 static bool mmio_event_begin(struct evsel *evsel, in mmio_event_begin() argument
46 if (kvm_exit_event(evsel)) in mmio_event_begin()
50 if (!strcmp(evsel->name, "kvm:kvm_mmio") && in mmio_event_begin()
51 evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_WRITE) { in mmio_event_begin()
52 mmio_event_get_key(evsel, sample, key); in mmio_event_begin()
59 static bool mmio_event_end(struct evsel *evsel, struct perf_sample *sample, in mmio_event_end() argument
63 if (kvm_entry_event(evsel)) in mmio_event_end()
[all …]
/tools/lib/perf/tests/
Dtest-evsel.c19 struct perf_evsel *evsel; in test_stat_cpu() local
29 evsel = perf_evsel__new(&attr); in test_stat_cpu()
30 __T("failed to create evsel", evsel); in test_stat_cpu()
32 err = perf_evsel__open(evsel, cpus, NULL); in test_stat_cpu()
38 perf_evsel__read(evsel, idx, 0, &counts); in test_stat_cpu()
42 perf_evsel__close(evsel); in test_stat_cpu()
43 perf_evsel__delete(evsel); in test_stat_cpu()
53 struct perf_evsel *evsel; in test_stat_thread() local
65 evsel = perf_evsel__new(&attr); in test_stat_thread()
66 __T("failed to create evsel", evsel); in test_stat_thread()
[all …]
Dtest-evlist.c32 struct perf_evsel *evsel; in test_stat_cpu() local
49 evsel = perf_evsel__new(&attr1); in test_stat_cpu()
50 __T("failed to create evsel1", evsel); in test_stat_cpu()
52 perf_evlist__add(evlist, evsel); in test_stat_cpu()
54 evsel = perf_evsel__new(&attr2); in test_stat_cpu()
55 __T("failed to create evsel2", evsel); in test_stat_cpu()
57 perf_evlist__add(evlist, evsel); in test_stat_cpu()
64 perf_evlist__for_each_evsel(evlist, evsel) { in test_stat_cpu()
65 cpus = perf_evsel__cpus(evsel); in test_stat_cpu()
70 perf_evsel__read(evsel, idx, 0, &counts); in test_stat_cpu()
[all …]
/tools/lib/perf/include/perf/
Devsel.h25 LIBPERF_API void perf_evsel__delete(struct perf_evsel *evsel);
26 LIBPERF_API int perf_evsel__open(struct perf_evsel *evsel, struct perf_cpu_map *cpus,
28 LIBPERF_API void perf_evsel__close(struct perf_evsel *evsel);
29 LIBPERF_API void perf_evsel__close_cpu(struct perf_evsel *evsel, int cpu);
30 LIBPERF_API int perf_evsel__read(struct perf_evsel *evsel, int cpu, int thread,
32 LIBPERF_API int perf_evsel__enable(struct perf_evsel *evsel);
33 LIBPERF_API int perf_evsel__enable_cpu(struct perf_evsel *evsel, int cpu);
34 LIBPERF_API int perf_evsel__disable(struct perf_evsel *evsel);
35 LIBPERF_API int perf_evsel__disable_cpu(struct perf_evsel *evsel, int cpu);
36 LIBPERF_API struct perf_cpu_map *perf_evsel__cpus(struct perf_evsel *evsel);
[all …]
/tools/lib/perf/include/internal/
Devlist.h62 #define __perf_evlist__for_each_entry(list, evsel) \ argument
63 list_for_each_entry(evsel, list, node)
70 #define perf_evlist__for_each_entry(evlist, evsel) \ argument
71 __perf_evlist__for_each_entry(&(evlist)->entries, evsel)
78 #define __perf_evlist__for_each_entry_reverse(list, evsel) \ argument
79 list_for_each_entry_reverse(evsel, list, node)
86 #define perf_evlist__for_each_entry_reverse(evlist, evsel) \ argument
87 __perf_evlist__for_each_entry_reverse(&(evlist)->entries, evsel)
95 #define __perf_evlist__for_each_entry_safe(list, tmp, evsel) \ argument
96 list_for_each_entry_safe(evsel, tmp, list, node)
[all …]
Devsel.h21 struct perf_evsel *evsel; member
53 void perf_evsel__init(struct perf_evsel *evsel, struct perf_event_attr *attr);
54 int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads);
55 void perf_evsel__close_fd(struct perf_evsel *evsel);
56 void perf_evsel__free_fd(struct perf_evsel *evsel);
57 int perf_evsel__read_size(struct perf_evsel *evsel);
58 int perf_evsel__apply_filter(struct perf_evsel *evsel, const char *filter);
60 int perf_evsel__alloc_id(struct perf_evsel *evsel, int ncpus, int nthreads);
61 void perf_evsel__free_id(struct perf_evsel *evsel);
/tools/perf/arch/s390/util/
Dkvm-stat.c27 static void event_icpt_insn_get_key(struct evsel *evsel, in event_icpt_insn_get_key() argument
33 insn = evsel__intval(evsel, sample, "instruction"); in event_icpt_insn_get_key()
38 static void event_sigp_get_key(struct evsel *evsel, in event_sigp_get_key() argument
42 key->key = evsel__intval(evsel, sample, "order_code"); in event_sigp_get_key()
46 static void event_diag_get_key(struct evsel *evsel, in event_diag_get_key() argument
50 key->key = evsel__intval(evsel, sample, "code"); in event_diag_get_key()
54 static void event_icpt_prog_get_key(struct evsel *evsel, in event_icpt_prog_get_key() argument
58 key->key = evsel__intval(evsel, sample, "code"); in event_icpt_prog_get_key()

1234567