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()
183 if ((type != STAT_NSECS) && (evsel->pmu != cur->pmu)) in find_stat()
195 const struct evsel *evsel, int aggr_idx, in print_ratio() argument
200 double denominator = find_stat(evsel, aggr_idx, denominator_type); in print_ratio()
212 const struct evsel *evsel, in print_stalled_cycles_front() argument
218 print_ratio(config, evsel, aggr_idx, stalled, out, STAT_CYCLES, color_ratios, in print_stalled_cycles_front()
223 const struct evsel *evsel, in print_stalled_cycles_back() argument
229 print_ratio(config, evsel, aggr_idx, stalled, out, STAT_CYCLES, color_ratios, in print_stalled_cycles_back()
234 const struct evsel *evsel, in print_branch_miss() argument
240 print_ratio(config, evsel, aggr_idx, misses, out, STAT_BRANCHES, color_ratios, in print_branch_miss()
245 const struct evsel *evsel, in print_l1d_miss() argument
251 print_ratio(config, evsel, aggr_idx, misses, out, STAT_L1_DCACHE, color_ratios, in print_l1d_miss()
256 const struct evsel *evsel, in print_l1i_miss() argument
262 print_ratio(config, evsel, aggr_idx, misses, out, STAT_L1_ICACHE, color_ratios, in print_l1i_miss()
267 const struct evsel *evsel, in print_ll_miss() argument
273 print_ratio(config, evsel, aggr_idx, misses, out, STAT_LL_CACHE, color_ratios, in print_ll_miss()
278 const struct evsel *evsel, in print_dtlb_miss() argument
284 print_ratio(config, evsel, aggr_idx, misses, out, STAT_DTLB_CACHE, color_ratios, in print_dtlb_miss()
289 const struct evsel *evsel, in print_itlb_miss() argument
295 print_ratio(config, evsel, aggr_idx, misses, out, STAT_ITLB_CACHE, color_ratios, in print_itlb_miss()
300 const struct evsel *evsel, in print_cache_miss() argument
306 print_ratio(config, evsel, aggr_idx, misses, out, STAT_CACHE_REFS, color_ratios, in print_cache_miss()
311 const struct evsel *evsel, in print_instructions() argument
317 double cycles = find_stat(evsel, aggr_idx, STAT_CYCLES); in print_instructions()
318 double max_stalled = max(find_stat(evsel, aggr_idx, STAT_STALLED_CYCLES_FRONT), in print_instructions()
319 find_stat(evsel, aggr_idx, STAT_STALLED_CYCLES_BACK)); in print_instructions()
335 const struct evsel *evsel, in print_cycles() argument
339 double nsecs = find_stat(evsel, aggr_idx, STAT_NSECS); in print_cycles()
350 const struct evsel *evsel, in print_nsecs() argument
360 nsecs / (wall_time * evsel->scale)); in print_nsecs()
366 const struct evsel *evsel, in prepare_metric() argument
370 struct evsel * const *metric_events = mexp->metric_events; in prepare_metric()
417 if (evsel && evsel->metric_leader && in prepare_metric()
418 evsel->pmu != evsel->metric_leader->pmu && in prepare_metric()
419 mexp->metric_events[i]->pmu == evsel->metric_leader->pmu) { in prepare_metric()
420 struct evsel *pos; in prepare_metric()
422 evlist__for_each_entry(evsel->evlist, pos) { in prepare_metric()
423 if (pos->pmu != evsel->pmu) in prepare_metric()
471 struct evsel *evsel, in generic_metric() argument
480 struct evsel * const *metric_events = mexp->metric_events; in generic_metric()
496 i = prepare_metric(mexp, evsel, pctx, aggr_idx); in generic_metric()
531 out->force_header ? evsel->name : "", in generic_metric()
537 (metric_name ?: evsel->name) : "", 0); in generic_metric()
542 (metric_name ?: evsel->name) : "", 0); in generic_metric()
569 struct evsel *evsel, in perf_stat__print_metricgroup_header() argument
587 if (!need_full_name || !strcmp(last_pmu, evsel->pmu_name)) { in perf_stat__print_metricgroup_header()
594 scnprintf(full_name, sizeof(full_name), "%s (%s)", name, evsel->pmu_name); in perf_stat__print_metricgroup_header()
601 last_pmu = evsel->pmu_name; in perf_stat__print_metricgroup_header()
616 struct evsel *evsel, in perf_stat__print_shadow_stats_metricgroup() argument
629 me = metricgroup__lookup(metric_events, evsel, false); in perf_stat__print_shadow_stats_metricgroup()
652 perf_stat__print_metricgroup_header(config, evsel, ctxp, in perf_stat__print_shadow_stats_metricgroup()
659 generic_metric(config, mexp, evsel, aggr_idx, out); in perf_stat__print_shadow_stats_metricgroup()
666 struct evsel *evsel, in perf_stat__print_shadow_stats() argument
672 const struct evsel *evsel, in perf_stat__print_shadow_stats()
694 iostat_print_metric(config, evsel, out); in perf_stat__print_shadow_stats()
696 stat_print_function_t fn = stat_print_function[evsel__stat_type(evsel)]; in perf_stat__print_shadow_stats()
699 fn(config, evsel, aggr_idx, avg, out); in perf_stat__print_shadow_stats()
701 double nsecs = find_stat(evsel, aggr_idx, STAT_NSECS); in perf_stat__print_shadow_stats()
717 perf_stat__print_shadow_stats_metricgroup(config, evsel, aggr_idx, in perf_stat__print_shadow_stats()
728 bool perf_stat__skip_metric_event(struct evsel *evsel, in perf_stat__skip_metric_event() argument
732 if (!evsel->default_metricgroup) in perf_stat__skip_metric_event()
738 return !metricgroup__lookup(metric_events, evsel, false); in perf_stat__skip_metric_event()