Lines Matching refs:evsel
55 static int evsel_context(const struct evsel *evsel) in evsel_context() argument
59 if (evsel->core.attr.exclude_kernel) in evsel_context()
61 if (evsel->core.attr.exclude_user) in evsel_context()
63 if (evsel->core.attr.exclude_hv) in evsel_context()
65 if (evsel->core.attr.exclude_host) in evsel_context()
67 if (evsel->core.attr.exclude_idle) in evsel_context()
79 static enum stat_type evsel__stat_type(const struct evsel *evsel) in evsel__stat_type() argument
98 if (evsel__is_clock(evsel)) in evsel__stat_type()
100 else if (evsel__match(evsel, HARDWARE, HW_CPU_CYCLES)) in evsel__stat_type()
102 else if (evsel__match(evsel, HARDWARE, HW_INSTRUCTIONS)) in evsel__stat_type()
104 else if (evsel__match(evsel, HARDWARE, HW_STALLED_CYCLES_FRONTEND)) in evsel__stat_type()
106 else if (evsel__match(evsel, HARDWARE, HW_STALLED_CYCLES_BACKEND)) in evsel__stat_type()
108 else if (evsel__match(evsel, HARDWARE, HW_BRANCH_INSTRUCTIONS)) in evsel__stat_type()
110 else if (evsel__match(evsel, HARDWARE, HW_BRANCH_MISSES)) in evsel__stat_type()
112 else if (evsel__match(evsel, HARDWARE, HW_CACHE_REFERENCES)) in evsel__stat_type()
114 else if (evsel__match(evsel, HARDWARE, HW_CACHE_MISSES)) in evsel__stat_type()
116 else if (evsel__match(evsel, HW_CACHE, HW_CACHE_L1D)) in evsel__stat_type()
118 else if (evsel__match(evsel, HW_CACHE, HW_CACHE_L1I)) in evsel__stat_type()
120 else if (evsel__match(evsel, HW_CACHE, HW_CACHE_LL)) in evsel__stat_type()
122 else if (evsel__match(evsel, HW_CACHE, HW_CACHE_DTLB)) in evsel__stat_type()
124 else if (evsel__match(evsel, HW_CACHE, HW_CACHE_ITLB)) in evsel__stat_type()
126 else if (evsel__match(evsel, HW_CACHE, hw_cache_l1d_miss)) in evsel__stat_type()
128 else if (evsel__match(evsel, HW_CACHE, hw_cache_l1i_miss)) in evsel__stat_type()
130 else if (evsel__match(evsel, HW_CACHE, hw_cache_ll_miss)) in evsel__stat_type()
132 else if (evsel__match(evsel, HW_CACHE, hw_cache_dtlb_miss)) in evsel__stat_type()
134 else if (evsel__match(evsel, HW_CACHE, hw_cache_itlb_miss)) in evsel__stat_type()
153 static double find_stat(const struct evsel *evsel, int aggr_idx, enum stat_type type) in find_stat() argument
155 const struct evsel *cur; in find_stat()
156 int evsel_ctx = evsel_context(evsel); in find_stat()
158 evlist__for_each_entry(evsel->evlist, cur) { in find_stat()
162 if (evsel == cur) in find_stat()
166 if (evsel->core.leader->nr_members > 1 && in find_stat()
167 evsel->core.leader != cur->core.leader) in find_stat()
173 if (evsel->cgrp != cur->cgrp) in find_stat()
188 const struct evsel *evsel, int aggr_idx, in print_ratio() argument
193 double denominator = find_stat(evsel, aggr_idx, denominator_type); in print_ratio()
205 const struct evsel *evsel, in print_stalled_cycles_front() argument
211 print_ratio(config, evsel, aggr_idx, stalled, out, STAT_CYCLES, color_ratios, in print_stalled_cycles_front()
216 const struct evsel *evsel, in print_stalled_cycles_back() argument
222 print_ratio(config, evsel, aggr_idx, stalled, out, STAT_CYCLES, color_ratios, in print_stalled_cycles_back()
227 const struct evsel *evsel, in print_branch_miss() argument
233 print_ratio(config, evsel, aggr_idx, misses, out, STAT_BRANCHES, color_ratios, in print_branch_miss()
238 const struct evsel *evsel, in print_l1d_miss() argument
244 print_ratio(config, evsel, aggr_idx, misses, out, STAT_L1_DCACHE, color_ratios, in print_l1d_miss()
249 const struct evsel *evsel, in print_l1i_miss() argument
255 print_ratio(config, evsel, aggr_idx, misses, out, STAT_L1_ICACHE, color_ratios, in print_l1i_miss()
260 const struct evsel *evsel, in print_ll_miss() argument
266 print_ratio(config, evsel, aggr_idx, misses, out, STAT_LL_CACHE, color_ratios, in print_ll_miss()
271 const struct evsel *evsel, in print_dtlb_miss() argument
277 print_ratio(config, evsel, aggr_idx, misses, out, STAT_DTLB_CACHE, color_ratios, in print_dtlb_miss()
282 const struct evsel *evsel, in print_itlb_miss() argument
288 print_ratio(config, evsel, aggr_idx, misses, out, STAT_ITLB_CACHE, color_ratios, in print_itlb_miss()
293 const struct evsel *evsel, in print_cache_miss() argument
299 print_ratio(config, evsel, aggr_idx, misses, out, STAT_CACHE_REFS, color_ratios, in print_cache_miss()
304 const struct evsel *evsel, in print_instructions() argument
310 double cycles = find_stat(evsel, aggr_idx, STAT_CYCLES); in print_instructions()
311 double max_stalled = max(find_stat(evsel, aggr_idx, STAT_STALLED_CYCLES_FRONT), in print_instructions()
312 find_stat(evsel, aggr_idx, STAT_STALLED_CYCLES_BACK)); in print_instructions()
328 const struct evsel *evsel, in print_cycles() argument
332 double nsecs = find_stat(evsel, aggr_idx, STAT_NSECS); in print_cycles()
343 const struct evsel *evsel, in print_nsecs() argument
353 nsecs / (wall_time * evsel->scale)); in print_nsecs()
358 static int prepare_metric(struct evsel **metric_events, in prepare_metric()
446 struct evsel **metric_events, in generic_metric()
543 struct evsel *evsel, in perf_stat__print_metricgroup_header() argument
561 if (!need_full_name || !strcmp(last_pmu, evsel->pmu_name)) { in perf_stat__print_metricgroup_header()
568 scnprintf(full_name, sizeof(full_name), "%s (%s)", name, evsel->pmu_name); in perf_stat__print_metricgroup_header()
575 last_pmu = evsel->pmu_name; in perf_stat__print_metricgroup_header()
590 struct evsel *evsel, in perf_stat__print_shadow_stats_metricgroup() argument
603 me = metricgroup__lookup(metric_events, evsel, false); in perf_stat__print_shadow_stats_metricgroup()
626 perf_stat__print_metricgroup_header(config, evsel, ctxp, in perf_stat__print_shadow_stats_metricgroup()
634 mexp->metric_events, mexp->metric_refs, evsel->name, in perf_stat__print_shadow_stats_metricgroup()
643 struct evsel *evsel, in perf_stat__print_shadow_stats() argument
649 const struct evsel *evsel, in perf_stat__print_shadow_stats()
671 iostat_print_metric(config, evsel, out); in perf_stat__print_shadow_stats()
673 stat_print_function_t fn = stat_print_function[evsel__stat_type(evsel)]; in perf_stat__print_shadow_stats()
676 fn(config, evsel, aggr_idx, avg, out); in perf_stat__print_shadow_stats()
678 double nsecs = find_stat(evsel, aggr_idx, STAT_NSECS); in perf_stat__print_shadow_stats()
694 perf_stat__print_shadow_stats_metricgroup(config, evsel, aggr_idx, in perf_stat__print_shadow_stats()
705 bool perf_stat__skip_metric_event(struct evsel *evsel, in perf_stat__skip_metric_event() argument
709 if (!evsel->default_metricgroup) in perf_stat__skip_metric_event()
715 return !metricgroup__lookup(metric_events, evsel, false); in perf_stat__skip_metric_event()