Home
last modified time | relevance | path

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

123456

/linux/tools/perf/util/
H A Devsel.c81 static int evsel__no_extra_init(struct evsel *evsel __maybe_unused) in evsel__no_extra_init()
204 static void evsel__no_extra_fini(struct evsel *evsel __maybe_unused) in evsel__no_extra_fini()
210 int (*init)(struct evsel *evsel);
211 void (*fini)(struct evsel *evsel);
213 .size = sizeof(struct evsel),
218 int evsel__object_config(size_t object_size, int (*init)(struct evsel *evsel), in evsel__object_config() argument
219 void (*fini)(struct evsel *evsel)) in evsel__object_config() argument
318 void evsel__calc_id_pos(struct evsel *evsel) in evsel__calc_id_pos() argument
320 evsel->id_pos = __perf_evsel__calc_id_pos(evsel->core.attr.sample_type); in evsel__calc_id_pos()
321 evsel->is_pos = __perf_evsel__calc_is_pos(evsel->core.attr.sample_type); in evsel__calc_id_pos()
[all …]
H A Dbpf_counter.h14 struct evsel;
18 typedef int (*bpf_counter_evsel_op)(struct evsel *evsel);
19 typedef int (*bpf_counter_evsel_target_op)(struct evsel *evsel,
21 typedef int (*bpf_counter_evsel_install_pe_op)(struct evsel *evsel,
41 int bpf_counter__load(struct evsel *evsel, struct target *target);
42 int bpf_counter__enable(struct evsel *evsel);
43 int bpf_counter__disable(struct evsel *evsel);
44 int bpf_counter__read(struct evsel *evsel);
45 void bpf_counter__destroy(struct evsel *evsel);
46 int bpf_counter__install_pe(struct evsel *evsel, int cpu_map_idx, int fd);
[all …]
H A Dbpf_counter_cgroup.c39 static struct evsel *cgrp_switch;
47 struct evsel *evsel; in bperf_load_program() local
112 evlist__for_each_entry(evlist, evsel) { in bperf_load_program()
113 if (cgrp == NULL || evsel->cgrp == leader_cgrp) { in bperf_load_program()
114 leader_cgrp = evsel->cgrp; in bperf_load_program()
115 evsel->cgrp = NULL; in bperf_load_program()
118 err = evsel__open_per_cpu(evsel, evsel->core.cpus, -1); in bperf_load_program()
120 evsel->supported = true; in bperf_load_program()
123 perf_cpu_map__for_each_cpu(cpu, j, evsel->core.cpus) { in bperf_load_program()
124 int fd = FD(evsel, j); in bperf_load_program()
[all …]
H A Drecord.c4 #include "evsel.h"
26 static struct evsel *evsel__read_sampler(struct evsel *evsel, struct evlist *evlist) in evsel__read_sampler() argument
28 struct evsel *leader = evsel__leader(evsel); in evsel__read_sampler()
32 evlist__for_each_entry(evlist, evsel) { in evsel__read_sampler()
33 if (evsel__leader(evsel) == leader && evsel != evsel__leader(evsel)) in evsel__read_sampler()
41 evsel__config_term_mask(struct evsel * evsel) evsel__config_term_mask() argument
53 evsel__config_leader_sampling(struct evsel * evsel,struct evlist * evlist) evsel__config_leader_sampling() argument
97 struct evsel *evsel; evlist__config() local
224 struct evsel *evsel; evlist__can_select_event() local
[all...]
H A 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.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.cpu, -1, flags); in perf_do_probe_api()
82 static void perf_probe_sample_identifier(struct evsel *evsel) in perf_probe_sample_identifier() argument
84 evsel->core.attr.sample_type |= PERF_SAMPLE_IDENTIFIER; in perf_probe_sample_identifier()
87 static void perf_probe_comm_exec(struct evsel *evsel) in perf_probe_comm_exec() argument
89 evsel->core.attr.comm_exec = 1; in perf_probe_comm_exec()
[all …]
H A Dannotate.h121 struct evsel *evsel; member
204 struct evsel *evsel,
208 void symbol__calc_percent(struct symbol *sym, struct evsel *evsel);
382 const struct evsel *evsel) in annotated_source__histogram() argument
384 return &src->histograms[evsel->core.idx]; in annotated_source__histogram()
388 const struct evsel *evsel) in annotation__histogram() argument
390 return annotated_source__histogram(notes->src, evsel); in annotation__histogram()
394 annotated_source__hist_entry(struct annotated_source *src, const struct evsel *evsel, u64 offset) in annotated_source__hist_entry() argument
397 long key = offset << 16 | evsel->core.idx; in annotated_source__hist_entry()
410 struct evsel *evsel);
[all …]
H A Dsideband_evlist.c18 struct evsel *evsel; in evlist__add_sb_event() local
25 evsel = evsel__new_idx(attr, evlist->core.nr_entries); in evlist__add_sb_event()
26 if (!evsel) in evlist__add_sb_event()
29 evsel->side_band.cb = cb; in evlist__add_sb_event()
30 evsel->side_band.data = data; in evlist__add_sb_event()
31 evlist__add(evlist, evsel); in evlist__add_sb_event()
65 struct evsel *evsel = 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 …]
H A Dbpf-filter.h18 struct evsel;
30 int perf_bpf_filter__prepare(struct evsel *evsel, struct target *target);
31 int perf_bpf_filter__destroy(struct evsel *evsel);
32 u64 perf_bpf_filter__lost_count(struct evsel *evsel);
43 static inline int perf_bpf_filter__prepare(struct evsel *evsel __maybe_unused, in perf_bpf_filter__prepare()
48 static inline int perf_bpf_filter__destroy(struct evsel *evsel __maybe_unused) in perf_bpf_filter__destroy()
52 static inline u64 perf_bpf_filter__lost_count(struct evsel *evsel __maybe_unused) in perf_bpf_filter__lost_count()
H A 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) in evsel__alloc_counts() argument
60 struct perf_cpu_map *cpus = evsel__cpus(evsel); in evsel__alloc_counts()
61 int nthreads = perf_thread_map__nr(evsel->core.threads); in evsel__alloc_counts()
63 evsel->counts = perf_counts__new(perf_cpu_map__nr(cpus), nthreads); in evsel__alloc_counts()
64 return evsel->counts != NULL ? 0 : -ENOMEM; in evsel__alloc_counts()
67 void evsel__free_counts(struct evsel *evsel) in evsel__free_counts() argument
69 perf_counts__delete(evsel->counts); in evsel__free_counts()
70 evsel->counts = NULL; in evsel__free_counts()
H A Dkvm-stat.h18 struct evsel;
57 void (*get_key)(struct evsel *evsel,
64 bool (*is_begin_event)(struct evsel *evsel,
67 bool (*is_end_event)(struct evsel *evsel,
120 void exit_event_get_key(struct evsel *evsel,
123 bool exit_event_begin(struct evsel *evse
[all...]
/linux/tools/perf/arch/x86/tests/
H A Dhybrid.c10 static bool test_config(const struct evsel *evsel, __u64 expected_config) in test_config() argument
12 return (evsel->core.attr.config & PERF_HW_EVENT_MASK) == expected_config; in test_config()
15 static bool test_perf_config(const struct perf_evsel *evsel, __u64 expected_config) in test_perf_config() argument
17 return (evsel->attr.config & PERF_HW_EVENT_MASK) == expected_config; in test_perf_config()
20 static bool test_hybrid_type(const struct evsel *evsel, __u64 expected_config) in test_hybrid_type() argument
22 return (evsel->core.attr.config >> PERF_PMU_TYPE_SHIFT) == expected_config; in test_hybrid_type()
27 struct evsel *evsel = evlist__first(evlist); in test__hybrid_hw_event_with_pmu() local
30 TEST_ASSERT_VAL("wrong type", PERF_TYPE_HARDWARE == evsel->core.attr.type); in test__hybrid_hw_event_with_pmu()
31 TEST_ASSERT_VAL("wrong hybrid type", test_hybrid_type(evsel, PERF_TYPE_RAW)); in test__hybrid_hw_event_with_pmu()
32 TEST_ASSERT_VAL("wrong config", test_config(evsel, PERF_COUNT_HW_CPU_CYCLES)); in test__hybrid_hw_event_with_pmu()
[all …]
/linux/tools/lib/perf/
H A Devlist.c37 struct perf_evsel *evsel) in __perf_evlist__propagate_maps() argument
39 if (evsel->system_wide) { in __perf_evlist__propagate_maps()
41 perf_cpu_map__put(evsel->cpus); in __perf_evlist__propagate_maps()
42 evsel->cpus = perf_cpu_map__new_online_cpus(); in __perf_evlist__propagate_maps()
43 } else if (evlist->has_user_cpus && evsel->is_pmu_core) { in __perf_evlist__propagate_maps()
48 perf_cpu_map__put(evsel->cpus); in __perf_evlist__propagate_maps()
49 evsel->cpus = perf_cpu_map__intersect(evlist->user_requested_cpus, evsel->own_cpus); in __perf_evlist__propagate_maps()
55 if (perf_cpu_map__is_empty(evsel->cpus)) { in __perf_evlist__propagate_maps()
56 struct perf_evsel *next = perf_evlist__next(evlist, evsel); in __perf_evlist__propagate_maps()
58 perf_evlist__remove(evlist, evsel); in __perf_evlist__propagate_maps()
[all …]
/linux/tools/perf/arch/x86/util/
H A Dkvm-stat.c30 static void mmio_event_get_key(struct evsel *evsel, struct perf_sample *sample, in mmio_event_get_key() argument
33 key->key = evsel__intval(evsel, sample, "gpa"); in mmio_event_get_key()
34 key->info = evsel__intval(evsel, sample, "type"); in mmio_event_get_key()
41 static bool mmio_event_begin(struct evsel *evsel, in mmio_event_begin() argument
45 if (kvm_exit_event(evsel)) in mmio_event_begin()
49 if (evsel__name_is(evsel, "kvm:kvm_mmio") && in mmio_event_begin()
50 evsel__intval(evsel, sample, "type") == KVM_TRACE_MMIO_WRITE) { in mmio_event_begin()
51 mmio_event_get_key(evsel, sample, key); in mmio_event_begin()
58 static bool mmio_event_end(struct evsel *evsel, struct perf_sample *sample, in mmio_event_end() argument
62 if (kvm_entry_event(evsel)) in mmio_event_end()
[all …]
/linux/tools/lib/perf/tests/
H A Dtest-evlist.c38 struct perf_evsel *evsel, *leader; in test_stat_cpu() local
55 evsel = leader = perf_evsel__new(&attr1); in test_stat_cpu()
56 __T("failed to create evsel1", evsel); in test_stat_cpu()
58 perf_evlist__add(evlist, evsel); in test_stat_cpu()
60 evsel = perf_evsel__new(&attr2); in test_stat_cpu()
61 __T("failed to create evsel2", evsel); in test_stat_cpu()
63 perf_evlist__add(evlist, evsel); in test_stat_cpu()
67 __T("failed to set leader", evsel->leader == leader); in test_stat_cpu()
74 perf_evlist__for_each_evsel(evlist, evsel) { in test_stat_cpu()
75 cpus = perf_evsel__cpus(evsel); in test_stat_cpu()
[all …]
H A Dtest-evsel.c23 struct perf_evsel *evsel; in test_stat_cpu() local
33 evsel = perf_evsel__new(&attr); in test_stat_cpu()
34 __T("failed to create evsel", evsel); in test_stat_cpu()
36 err = perf_evsel__open(evsel, cpus, NULL); in test_stat_cpu()
42 perf_evsel__read(evsel, idx, 0, &counts); in test_stat_cpu()
46 perf_evsel__close(evsel); in test_stat_cpu()
47 perf_evsel__delete(evsel); in test_stat_cpu()
57 struct perf_evsel *evsel; in test_stat_thread() local
69 evsel = perf_evsel__new(&attr); in test_stat_thread()
70 __T("failed to create evsel", evsel); in test_stat_thread()
[all …]
/linux/tools/lib/perf/include/perf/
H A Devsel.h29 LIBPERF_API void perf_evsel__delete(struct perf_evsel *evsel);
30 LIBPERF_API int perf_evsel__open(struct perf_evsel *evsel, struct perf_cpu_map *cpus,
32 LIBPERF_API void perf_evsel__close(struct perf_evsel *evsel);
33 LIBPERF_API void perf_evsel__close_cpu(struct perf_evsel *evsel, int cpu_map_idx);
34 LIBPERF_API int perf_evsel__mmap(struct perf_evsel *evsel, int pages);
35 LIBPERF_API void perf_evsel__munmap(struct perf_evsel *evsel);
36 LIBPERF_API void *perf_evsel__mmap_base(struct perf_evsel *evsel, int cpu_map_idx, int thread);
37 LIBPERF_API int perf_evsel__read(struct perf_evsel *evsel, int cpu_map_idx, int thread,
39 LIBPERF_API int perf_evsel__enable(struct perf_evsel *evsel);
40 LIBPERF_API int perf_evsel__enable_cpu(struct perf_evsel *evsel, int cpu_map_idx);
[all …]
/linux/tools/lib/perf/include/internal/
H A Devlist.h70 #define __perf_evlist__for_each_entry(list, evsel) \ argument
71 list_for_each_entry(evsel, list, node)
78 #define perf_evlist__for_each_entry(evlist, evsel) \ argument
79 __perf_evlist__for_each_entry(&(evlist)->entries, evsel)
86 #define __perf_evlist__for_each_entry_reverse(list, evsel) \ argument
87 list_for_each_entry_reverse(evsel, list, node)
94 #define perf_evlist__for_each_entry_reverse(evlist, evsel) \ argument
95 __perf_evlist__for_each_entry_reverse(&(evlist)->entries, evsel)
103 #define __perf_evlist__for_each_entry_safe(list, tmp, evsel) \ argument
104 list_for_each_entry_safe(evsel, tmp, list, node)
[all …]
/linux/tools/perf/tests/
H A Dmmap-basic.c45 struct evsel *evsels[nsyscalls], *evsel; in test__basic_mmap() local
140 evsel = evlist__id2evsel(evlist, sample.id); in test__basic_mmap()
141 if (evsel == NULL) { in test__basic_mmap()
146 nr_events[evsel->core.idx]++; in test__basic_mmap()
153 evlist__for_each_entry(evlist, evsel) { in test__basic_mmap()
154 if (nr_events[evsel->core.idx] != expected_nr_events[evsel->core.idx]) { in test__basic_mmap()
156 expected_nr_events[evsel->core.idx], in test__basic_mmap()
157 evsel__name(evsel), nr_events[evsel->core.idx]); in test__basic_mmap()
176 struct perf_evsel *evsel; in test_stat_user_read() local
193 evsel = perf_evsel__new(&attr); in test_stat_user_read()
[all …]
H A Devent_update.c82 struct evsel *evsel; in test__event_update() local
88 evsel = evlist__first(evlist); in test__event_update()
91 !perf_evsel__alloc_id(&evsel->core, 1, 1)); in test__event_update()
93 perf_evlist__id_add(&evlist->core, &evsel->core, 0, 0, 123); in test__event_update()
95 free((char *)evsel->unit); in test__event_update()
96 evsel->unit = strdup("KRAVA"); in test__event_update()
99 !perf_event__synthesize_event_update_unit(NULL, evsel, process_event_unit)); in test__event_update()
101 evsel->scale = 0.123; in test__event_update()
104 !perf_event__synthesize_event_update_scale(NULL, evsel, process_event_scale)); in test__event_update()
107 tmp.name = evsel__name(evsel); in test__event_update()
[all …]
H A Dopenat-syscall-all-cpus.c28 struct evsel *evsel; in test__openat_syscall_event_on_all_cpus() local
48 evsel = evsel__newtp("syscalls", "sys_enter_openat"); in test__openat_syscall_event_on_all_cpus()
49 if (IS_ERR(evsel)) { in test__openat_syscall_event_on_all_cpus()
56 if (evsel__open(evsel, cpus, threads) < 0) { in test__openat_syscall_event_on_all_cpus()
91 evsel->core.cpus = perf_cpu_map__get(cpus); in test__openat_syscall_event_on_all_cpus()
101 if (evsel__read_on_cpu(evsel, idx, 0) < 0) { in test__openat_syscall_event_on_all_cpus()
108 if (perf_counts(evsel->counts, idx, 0)->val != expected) { in test__openat_syscall_event_on_all_cpus()
110 expected, cpu.cpu, perf_counts(evsel->counts, idx, 0)->val); in test__openat_syscall_event_on_all_cpus()
115 evsel__free_counts(evsel); in test__openat_syscall_event_on_all_cpus()
117 perf_evsel__close_fd(&evsel->core); in test__openat_syscall_event_on_all_cpus()
[all …]
H A Dopenat-syscall.c21 struct evsel *evsel; in test__openat_syscall_event() local
32 evsel = evsel__newtp("syscalls", "sys_enter_openat"); in test__openat_syscall_event()
33 if (IS_ERR(evsel)) { in test__openat_syscall_event()
40 if (evsel__open_per_thread(evsel, threads) < 0) { in test__openat_syscall_event()
53 if (evsel__read_on_cpu(evsel, 0, 0) < 0) { in test__openat_syscall_event()
58 if (perf_counts(evsel->counts, 0, 0)->val != nr_openat_calls) { in test__openat_syscall_event()
60 nr_openat_calls, perf_counts(evsel->counts, 0, 0)->val); in test__openat_syscall_event()
66 perf_evsel__close_fd(&evsel->core); in test__openat_syscall_event()
68 evsel__delete(evsel); in test__openat_syscall_event()
/linux/tools/perf/
H A Dbuiltin-trace.c148 struct evsel *sys_enter,
352 static inline struct syscall_tp *__evsel__syscall_tp(struct evsel *evsel) in __evsel__syscall_tp() argument
354 struct evsel_trace *et = evsel->priv; in __evsel__syscall_tp()
359 static struct syscall_tp *evsel__syscall_tp(struct evsel *evsel) in evsel__syscall_tp() argument
361 if (evsel->priv == NULL) { in evsel__syscall_tp()
362 evsel->priv = evsel_trace__new(); in evsel__syscall_tp()
363 if (evsel->priv == NULL) in evsel__syscall_tp()
367 return __evsel__syscall_tp(evsel); in evsel__syscall_tp()
373 static inline struct syscall_arg_fmt *__evsel__syscall_arg_fmt(struct evsel *evsel) in __evsel__syscall_arg_fmt() argument
375 struct evsel_trace *et = evsel->priv; in __evsel__syscall_arg_fmt()
[all …]
/linux/tools/perf/arch/arm64/util/
H A Dkvm-stat.c24 static void event_get_key(struct evsel *evsel, in event_get_key() argument
29 key->key = evsel__intval(evsel, sample, kvm_exit_reason); in event_get_key()
38 key->key = evsel__intval(evsel, sample, kvm_trap_exit_reason); in event_get_key()
43 static bool event_begin(struct evsel *evsel, in event_begin() argument
47 return evsel__name_is(evsel, kvm_entry_trace); in event_begin()
50 static bool event_end(struct evsel *evsel, in event_end() argument
54 if (evsel__name_is(evsel, kvm_exit_trace)) { in event_end()
55 event_get_key(evsel, sample, key); in event_end()
/linux/tools/perf/arch/s390/util/
H A Dkvm-stat.c26 static void event_icpt_insn_get_key(struct evsel *evsel, in event_icpt_insn_get_key() argument
32 insn = evsel__intval(evsel, sample, "instruction"); in event_icpt_insn_get_key()
37 static void event_sigp_get_key(struct evsel *evsel, in event_sigp_get_key() argument
41 key->key = evsel__intval(evsel, sample, "order_code"); in event_sigp_get_key()
45 static void event_diag_get_key(struct evsel *evsel, in event_diag_get_key() argument
49 key->key = evsel__intval(evsel, sample, "code"); in event_diag_get_key()
53 static void event_icpt_prog_get_key(struct evsel *evsel, in event_icpt_prog_get_key() argument
57 key->key = evsel__intval(evsel, sample, "code"); in event_icpt_prog_get_key()
/linux/tools/perf/arch/riscv/util/
H A Dkvm-stat.c28 static void event_get_key(struct evsel *evsel, in event_get_key() argument
33 key->key = evsel__intval(evsel, sample, kvm_exit_reason); in event_get_key()
37 static bool event_begin(struct evsel *evsel, in event_begin() argument
41 return evsel__name_is(evsel, kvm_entry_trace); in event_begin()
44 static bool event_end(struct evsel *evsel, in event_end() argument
48 if (evsel__name_is(evsel, kvm_exit_trace)) { in event_end()
49 event_get_key(evsel, sample, key); in event_end()

123456