Lines Matching refs:counter
192 static int read_counter(struct perf_evsel *counter) in read_counter() argument
195 int ncpus = perf_evsel__nr_cpus(counter); in read_counter()
198 if (!counter->supported) in read_counter()
201 if (counter->system_wide) in read_counter()
208 count = perf_counts(counter->counts, cpu, thread); in read_counter()
209 if (perf_evsel__read(counter, cpu, thread, count)) in read_counter()
219 struct perf_evsel *counter; in read_counters() local
221 evlist__for_each(evsel_list, counter) { in read_counters()
222 if (read_counter(counter)) in read_counters()
223 pr_debug("failed to read counter %s\n", counter->name); in read_counters()
225 if (perf_stat_process_counter(&stat_config, counter)) in read_counters()
226 pr_warning("failed to process counter %s\n", counter->name); in read_counters()
229 perf_evsel__close_fd(counter, perf_evsel__nr_cpus(counter), in read_counters()
249 struct perf_evsel *counter; in handle_initial_delay() local
256 evlist__for_each(evsel_list, counter) in handle_initial_delay()
257 perf_evsel__enable(counter, ncpus, nthreads); in handle_initial_delay()
279 struct perf_evsel *counter; in __run_perf_stat() local
305 evlist__for_each(evsel_list, counter) { in __run_perf_stat()
306 if (create_perf_stat_counter(counter) < 0) { in __run_perf_stat()
316 perf_evsel__name(counter)); in __run_perf_stat()
317 counter->supported = false; in __run_perf_stat()
319 if ((counter->leader != counter) || in __run_perf_stat()
320 !(counter->leader->nr_members > 1)) in __run_perf_stat()
324 perf_evsel__open_strerror(counter, &target, in __run_perf_stat()
333 counter->supported = true; in __run_perf_stat()
335 l = strlen(counter->unit); in __run_perf_stat()
340 if (perf_evlist__apply_filters(evsel_list, &counter)) { in __run_perf_stat()
342 counter->filter, perf_evsel__name(counter), errno, in __run_perf_stat()
551 static void printout(int id, int nr, struct perf_evsel *counter, double uval) in printout() argument
558 if (nsec_counter(counter)) in printout()
559 nsec_printout(id, nr, counter, uval); in printout()
561 abs_printout(id, nr, counter, uval); in printout()
564 perf_stat__print_shadow_stats(stat_config.output, counter, in printout()
572 struct perf_evsel *counter; in print_aggr() local
582 evlist__for_each(evsel_list, counter) { in print_aggr()
585 for (cpu = 0; cpu < perf_evsel__nr_cpus(counter); cpu++) { in print_aggr()
586 s2 = aggr_get_id(perf_evsel__cpus(counter), cpu); in print_aggr()
589 val += perf_counts(counter->counts, cpu, 0)->val; in print_aggr()
590 ena += perf_counts(counter->counts, cpu, 0)->ena; in print_aggr()
591 run += perf_counts(counter->counts, cpu, 0)->run; in print_aggr()
598 aggr_printout(counter, id, nr); in print_aggr()
602 counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED, in print_aggr()
607 counter->unit, csv_sep); in print_aggr()
611 perf_evsel__name(counter)); in print_aggr()
613 if (counter->cgrp) in print_aggr()
615 csv_sep, counter->cgrp->name); in print_aggr()
621 uval = val * counter->scale; in print_aggr()
622 printout(id, nr, counter, uval); in print_aggr()
624 print_noise(counter, 1.0); in print_aggr()
632 static void print_aggr_thread(struct perf_evsel *counter, char *prefix) in print_aggr_thread() argument
635 int nthreads = thread_map__nr(counter->threads); in print_aggr_thread()
636 int ncpus = cpu_map__nr(counter->cpus); in print_aggr_thread()
644 val += perf_counts(counter->counts, cpu, thread)->val; in print_aggr_thread()
645 ena += perf_counts(counter->counts, cpu, thread)->ena; in print_aggr_thread()
646 run += perf_counts(counter->counts, cpu, thread)->run; in print_aggr_thread()
652 uval = val * counter->scale; in print_aggr_thread()
653 printout(thread, 0, counter, uval); in print_aggr_thread()
656 print_noise(counter, 1.0); in print_aggr_thread()
667 static void print_counter_aggr(struct perf_evsel *counter, char *prefix) in print_counter_aggr() argument
670 struct perf_stat_evsel *ps = counter->priv; in print_counter_aggr()
672 int scaled = counter->counts->scaled; in print_counter_aggr()
682 if (scaled == -1 || !counter->supported) { in print_counter_aggr()
685 counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED, in print_counter_aggr()
689 counter->unit, csv_sep); in print_counter_aggr()
692 perf_evsel__name(counter)); in print_counter_aggr()
694 if (counter->cgrp) in print_counter_aggr()
695 fprintf(output, "%s%s", csv_sep, counter->cgrp->name); in print_counter_aggr()
702 uval = avg * counter->scale; in print_counter_aggr()
703 printout(-1, 0, counter, uval); in print_counter_aggr()
705 print_noise(counter, avg); in print_counter_aggr()
715 static void print_counter(struct perf_evsel *counter, char *prefix) in print_counter() argument
722 for (cpu = 0; cpu < perf_evsel__nr_cpus(counter); cpu++) { in print_counter()
723 val = perf_counts(counter->counts, cpu, 0)->val; in print_counter()
724 ena = perf_counts(counter->counts, cpu, 0)->ena; in print_counter()
725 run = perf_counts(counter->counts, cpu, 0)->run; in print_counter()
733 perf_evsel__cpus(counter)->map[cpu], csv_sep, in print_counter()
735 counter->supported ? CNTR_NOT_COUNTED : CNTR_NOT_SUPPORTED, in print_counter()
740 counter->unit, csv_sep); in print_counter()
744 perf_evsel__name(counter)); in print_counter()
746 if (counter->cgrp) in print_counter()
748 csv_sep, counter->cgrp->name); in print_counter()
755 uval = val * counter->scale; in print_counter()
756 printout(cpu, 0, counter, uval); in print_counter()
758 print_noise(counter, 1.0); in print_counter()
847 struct perf_evsel *counter; in print_counters() local
861 evlist__for_each(evsel_list, counter) in print_counters()
862 print_aggr_thread(counter, prefix); in print_counters()
865 evlist__for_each(evsel_list, counter) in print_counters()
866 print_counter_aggr(counter, prefix); in print_counters()
869 evlist__for_each(evsel_list, counter) in print_counters()
870 print_counter(counter, prefix); in print_counters()