Lines Matching refs:stat_config
242 memset(stat_config.walltime_nsecs_stats, 0, sizeof(*stat_config.walltime_nsecs_stats)); in perf_stat__reset_stats()
357 fprintf(stat_config.output, in read_counter_cpu()
430 if (stat_config.stop_read_counter) in read_counters()
455 if (counter->err == 0 && perf_stat_process_counter(&stat_config, counter)) in process_counters()
460 perf_stat_merge_counters(&stat_config, evsel_list); in process_counters()
461 perf_stat_process_percore(&stat_config, evsel_list); in process_counters()
481 init_stats(stat_config.walltime_nsecs_stats); in process_interval()
482 update_stats(stat_config.walltime_nsecs_stats, stat_config.interval * 1000000ULL); in process_interval()
775 int interval = stat_config.interval; in __run_perf_stat()
776 int times = stat_config.times; in __run_perf_stat()
777 int timeout = stat_config.timeout; in __run_perf_stat()
823 if (create_perf_stat_counter(counter, &stat_config, in __run_perf_stat()
875 if (create_perf_stat_counter(counter, &stat_config, in __run_perf_stat()
898 if (l > stat_config.unit_width) in __run_perf_stat()
899 stat_config.unit_width = l; in __run_perf_stat()
907 if (!has_supported_counters && !stat_config.null_run) { in __run_perf_stat()
939 err = perf_event__synthesize_stat_events(&stat_config, NULL, evsel_list, in __run_perf_stat()
980 wait4(child_pid, &status, 0, &stat_config.ru_data); in __run_perf_stat()
1010 if (stat_config.walltime_run_table) in __run_perf_stat()
1011 stat_config.walltime_run[run_idx] = t1 - t0; in __run_perf_stat()
1013 if (interval && stat_config.summary) { in __run_perf_stat()
1014 stat_config.interval = 0; in __run_perf_stat()
1015 stat_config.stop_read_counter = true; in __run_perf_stat()
1016 init_stats(stat_config.walltime_nsecs_stats); in __run_perf_stat()
1017 update_stats(stat_config.walltime_nsecs_stats, t1 - t0); in __run_perf_stat()
1023 update_stats(stat_config.walltime_nsecs_stats, t1 - t0); in __run_perf_stat()
1024 update_rusage_stats(&stat_config.ru_data); in __run_perf_stat()
1094 evlist__print_counters(evsel_list, &stat_config, &target, ts, argc, argv); in print_counters()
1101 if ((child_pid == -1) || stat_config.interval) in skip_signal()
1152 stat_config.metric_only = !unset; in enable_metric_only()
1187 if (stat_config.cgroup_list) { in parse_stat_cgroups()
1301 u32 cache_level = stat_config.aggr_level; in cpu__get_cache_details()
1570 aggr_cpu_id_get_t get_id = aggr_mode__get_aggr(stat_config.aggr_mode); in perf_stat_init_aggr_mode()
1573 bool needs_sort = stat_config.aggr_mode != AGGR_NONE; in perf_stat_init_aggr_mode()
1574 stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus, in perf_stat_init_aggr_mode()
1576 if (!stat_config.aggr_map) { in perf_stat_init_aggr_mode()
1577 pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]); in perf_stat_init_aggr_mode()
1580 stat_config.aggr_get_id = aggr_mode__get_id(stat_config.aggr_mode); in perf_stat_init_aggr_mode()
1583 if (stat_config.aggr_mode == AGGR_THREAD) { in perf_stat_init_aggr_mode()
1585 stat_config.aggr_map = cpu_aggr_map__empty_new(nr); in perf_stat_init_aggr_mode()
1586 if (stat_config.aggr_map == NULL) in perf_stat_init_aggr_mode()
1593 stat_config.aggr_map->map[s] = id; in perf_stat_init_aggr_mode()
1604 stat_config.cpus_aggr_map = cpu_aggr_map__empty_new(nr); in perf_stat_init_aggr_mode()
1605 return stat_config.cpus_aggr_map ? 0 : -ENOMEM; in perf_stat_init_aggr_mode()
1615 cpu_aggr_map__delete(stat_config.aggr_map); in perf_stat__exit_aggr_mode()
1616 cpu_aggr_map__delete(stat_config.cpus_aggr_map); in perf_stat__exit_aggr_mode()
1617 stat_config.aggr_map = NULL; in perf_stat__exit_aggr_mode()
1618 stat_config.cpus_aggr_map = NULL; in perf_stat__exit_aggr_mode()
1694 u32 cache_level = (perf_stat.aggr_level) ?: stat_config.aggr_level; in perf_env__get_cache_aggr_by_cpu()
1880 aggr_cpu_id_get_t get_id = aggr_mode__get_aggr_file(stat_config.aggr_mode); in perf_stat_init_aggr_mode_file()
1881 bool needs_sort = stat_config.aggr_mode != AGGR_NONE; in perf_stat_init_aggr_mode_file()
1883 if (stat_config.aggr_mode == AGGR_THREAD) { in perf_stat_init_aggr_mode_file()
1886 stat_config.aggr_map = cpu_aggr_map__empty_new(nr); in perf_stat_init_aggr_mode_file()
1887 if (stat_config.aggr_map == NULL) in perf_stat_init_aggr_mode_file()
1894 stat_config.aggr_map->map[s] = id; in perf_stat_init_aggr_mode_file()
1902 stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus, in perf_stat_init_aggr_mode_file()
1904 if (!stat_config.aggr_map) { in perf_stat_init_aggr_mode_file()
1905 pr_err("cannot build %s map\n", aggr_mode__string[stat_config.aggr_mode]); in perf_stat_init_aggr_mode_file()
1908 stat_config.aggr_get_id = aggr_mode__get_id_file(stat_config.aggr_mode); in perf_stat_init_aggr_mode_file()
1959 if (stat_config.null_run) in add_default_events()
1974 stat_config.metric_no_group, in add_default_events()
1975 stat_config.metric_no_merge, in add_default_events()
1976 stat_config.metric_no_threshold, in add_default_events()
1977 stat_config.user_requested_cpu_list, in add_default_events()
1978 stat_config.system_wide, in add_default_events()
1979 stat_config.hardware_aware_grouping); in add_default_events()
2008 stat_config.metric_only = true; in add_default_events()
2011 stat_config.metric_no_group, in add_default_events()
2012 stat_config.metric_no_merge, in add_default_events()
2013 stat_config.metric_no_threshold, in add_default_events()
2014 stat_config.user_requested_cpu_list, in add_default_events()
2015 stat_config.system_wide, in add_default_events()
2016 stat_config.hardware_aware_grouping); in add_default_events()
2025 stat_config.metric_only = true; in add_default_events()
2033 if (stat_config.topdown_level > max_level) { in add_default_events()
2037 } else if (!stat_config.topdown_level) { in add_default_events()
2038 stat_config.topdown_level = 1; in add_default_events()
2040 if (!stat_config.interval && !stat_config.metric_only) { in add_default_events()
2041 fprintf(stat_config.output, in add_default_events()
2045 str[8] = stat_config.topdown_level + '0'; in add_default_events()
2051 stat_config.user_requested_cpu_list, in add_default_events()
2052 stat_config.system_wide, in add_default_events()
2053 stat_config.hardware_aware_grouping) < 0) { in add_default_events()
2059 if (!stat_config.topdown_level) in add_default_events()
2060 stat_config.topdown_level = 1; in add_default_events()
2090 stat_config.user_requested_cpu_list, in add_default_events()
2091 stat_config.system_wide, in add_default_events()
2092 stat_config.hardware_aware_grouping) < 0) { in add_default_events()
2157 stat_config.aggr_mode = opt_aggr_mode_to_aggr_mode(opt_mode); in __cmd_record()
2162 if (stat_config.run_count != 1 || forever) { in __cmd_record()
2194 update_stats(stat_config.walltime_nsecs_stats, stat_round->time); in process_stat_round_event()
2196 if (stat_config.interval && stat_round->time) { in process_stat_round_event()
2213 perf_event__read_stat_config(&stat_config, &event->stat_config); in process_stat_config_event()
2219 stat_config.aggr_mode = st->aggr_mode; in process_stat_config_event()
2227 if (stat_config.aggr_map) { in process_stat_config_event()
2228 int nr_aggr = stat_config.aggr_map->nr; in process_stat_config_event()
2248 if (evlist__alloc_stats(&stat_config, evsel_list, /*alloc_raw=*/true)) in set_maps()
2348 perf_stat.tool.stat_config = process_stat_config_event; in __cmd_report()
2357 stat_config.output = stderr; in __cmd_report()
2438 OPT_BOOLEAN('i', "no-inherit", &stat_config.no_inherit, in cmd_stat()
2454 OPT_BOOLEAN(0, "scale", &stat_config.scale, in cmd_stat()
2458 OPT_INTEGER('r', "repeat", &stat_config.run_count, in cmd_stat()
2460 OPT_BOOLEAN(0, "table", &stat_config.walltime_run_table, in cmd_stat()
2462 OPT_BOOLEAN('n', "null", &stat_config.null_run, in cmd_stat()
2477 OPT_BOOLEAN(0, "hybrid-merge", &stat_config.hybrid_merge, in cmd_stat()
2479 OPT_STRING('x', "field-separator", &stat_config.csv_sep, "separator", in cmd_stat()
2481 OPT_BOOLEAN('j', "json-output", &stat_config.json_output, in cmd_stat()
2485 OPT_STRING(0, "for-each-cgroup", &stat_config.cgroup_list, "name", in cmd_stat()
2495 OPT_UINTEGER('I', "interval-print", &stat_config.interval, in cmd_stat()
2498 OPT_INTEGER(0, "interval-count", &stat_config.times, in cmd_stat()
2500 OPT_BOOLEAN(0, "interval-clear", &stat_config.interval_clear, in cmd_stat()
2502 OPT_UINTEGER(0, "timeout", &stat_config.timeout, in cmd_stat()
2509 OPT_CALLBACK_OPTARG(0, "per-cache", &opt_mode, &stat_config.aggr_level, in cmd_stat()
2518 OPT_CALLBACK_NOOPT(0, "metric-only", &stat_config.metric_only, NULL, in cmd_stat()
2520 OPT_BOOLEAN(0, "metric-no-group", &stat_config.metric_no_group, in cmd_stat()
2522 OPT_BOOLEAN(0, "metric-no-merge", &stat_config.metric_no_merge, in cmd_stat()
2524 OPT_BOOLEAN(0, "metric-no-threshold", &stat_config.metric_no_threshold, in cmd_stat()
2535 OPT_UINTEGER(0, "td-level", &stat_config.topdown_level, in cmd_stat()
2542 OPT_BOOLEAN_FLAG(0, "all-kernel", &stat_config.all_kernel, in cmd_stat()
2545 OPT_BOOLEAN_FLAG(0, "all-user", &stat_config.all_user, in cmd_stat()
2548 OPT_BOOLEAN(0, "percore-show-thread", &stat_config.percore_show_thread, in cmd_stat()
2552 OPT_BOOLEAN(0, "summary", &stat_config.summary, in cmd_stat()
2554 OPT_BOOLEAN(0, "no-csv-summary", &stat_config.no_csv_summary, in cmd_stat()
2569 OPT_CALLBACK(0, "control", &stat_config, "fd:ctl-fd[,ack-fd] or fifo:ctl-fifo[,ack-fifo]", in cmd_stat()
2574 OPT_CALLBACK_OPTARG(0, "iostat", &evsel_list, &stat_config, "default", in cmd_stat()
2608 stat_config.aggr_mode = opt_aggr_mode_to_aggr_mode(&opt_mode); in cmd_stat()
2610 if (stat_config.csv_sep) { in cmd_stat()
2611 stat_config.csv_output = true; in cmd_stat()
2612 if (!strcmp(stat_config.csv_sep, "\\t")) in cmd_stat()
2613 stat_config.csv_sep = "\t"; in cmd_stat()
2615 stat_config.csv_sep = DEFAULT_SEPARATOR; in cmd_stat()
2627 interval = stat_config.interval; in cmd_stat()
2628 timeout = stat_config.timeout; in cmd_stat()
2643 if (stat_config.metric_only && stat_config.aggr_mode == AGGR_THREAD) { in cmd_stat()
2648 if (stat_config.metric_only && stat_config.run_count > 1) { in cmd_stat()
2653 if (stat_config.csv_output || (stat_config.metric_only && stat_config.json_output)) { in cmd_stat()
2658 stat_config.metric_no_threshold = true; in cmd_stat()
2661 if (stat_config.walltime_run_table && stat_config.run_count <= 1) { in cmd_stat()
2683 if (!stat_config.json_output) { in cmd_stat()
2696 if (stat_config.interval_clear && !isatty(fileno(output))) { in cmd_stat()
2704 stat_config.output = output; in cmd_stat()
2709 if (stat_config.csv_output) { in cmd_stat()
2717 stat_config.big_num = false; in cmd_stat()
2719 stat_config.big_num = false; in cmd_stat()
2721 target.inherit = !stat_config.no_inherit; in cmd_stat()
2734 if ((stat_config.run_count == 1) && target__none(&target)) in cmd_stat()
2735 stat_config.ru_display = true; in cmd_stat()
2737 if (stat_config.run_count < 0) { in cmd_stat()
2741 } else if (stat_config.run_count == 0) { in cmd_stat()
2743 stat_config.run_count = 1; in cmd_stat()
2746 if (stat_config.walltime_run_table) { in cmd_stat()
2747 stat_config.walltime_run = zalloc(stat_config.run_count * sizeof(stat_config.walltime_run[0])); in cmd_stat()
2748 if (!stat_config.walltime_run) { in cmd_stat()
2754 if ((stat_config.aggr_mode == AGGR_THREAD) && in cmd_stat()
2770 if (((stat_config.aggr_mode != AGGR_GLOBAL && in cmd_stat()
2771 stat_config.aggr_mode != AGGR_THREAD) || in cmd_stat()
2772 (nr_cgroups || stat_config.cgroup_list)) && in cmd_stat()
2784 if (stat_config.iostat_run) { in cmd_stat()
2785 status = iostat_prepare(evsel_list, &stat_config); in cmd_stat()
2789 iostat_list(evsel_list, &stat_config); in cmd_stat()
2792 iostat_list(evsel_list, &stat_config); in cmd_stat()
2797 if ((stat_config.aggr_mode == AGGR_THREAD) && (target.system_wide)) in cmd_stat()
2800 stat_config.system_wide = target.system_wide; in cmd_stat()
2802 stat_config.user_requested_cpu_list = strdup(target.cpu_list); in cmd_stat()
2803 if (!stat_config.user_requested_cpu_list) { in cmd_stat()
2816 stat_config.metric_no_group, in cmd_stat()
2817 stat_config.metric_no_merge, in cmd_stat()
2818 stat_config.metric_no_threshold, in cmd_stat()
2819 stat_config.user_requested_cpu_list, in cmd_stat()
2820 stat_config.system_wide, in cmd_stat()
2821 stat_config.hardware_aware_grouping); in cmd_stat()
2833 if (stat_config.cgroup_list) { in cmd_stat()
2841 if (evlist__expand_cgroup(evsel_list, stat_config.cgroup_list, true) < 0) { in cmd_stat()
2888 if (stat_config.aggr_mode == AGGR_THREAD) { in cmd_stat()
2892 if (stat_config.aggr_mode == AGGR_NODE) in cmd_stat()
2895 if (stat_config.times && interval) in cmd_stat()
2897 else if (stat_config.times && !interval) { in cmd_stat()
2925 if (evlist__alloc_stats(&stat_config, evsel_list, interval)) in cmd_stat()
2937 stat_config.identifier = !(STAT_RECORD && perf_stat.data.is_pipe); in cmd_stat()
2952 if (evlist__initialize_ctlfd(evsel_list, stat_config.ctl_fd, stat_config.ctl_fd_ack)) in cmd_stat()
2958 for (run_idx = 0; forever || run_idx < stat_config.run_count; run_idx++) { in cmd_stat()
2959 if (stat_config.run_count != 1 && verbose > 0) in cmd_stat()
2976 if (!forever && status != -1 && (!interval || stat_config.summary)) { in cmd_stat()
2977 if (stat_config.run_count > 1) in cmd_stat()
2978 evlist__copy_res_stats(&stat_config, evsel_list); in cmd_stat()
3008 if (WRITE_STAT_ROUND_EVENT(stat_config.walltime_nsecs_stats->max, FINAL)) in cmd_stat()
3024 if (stat_config.iostat_run) in cmd_stat()
3027 zfree(&stat_config.walltime_run); in cmd_stat()
3028 zfree(&stat_config.user_requested_cpu_list); in cmd_stat()
3035 evlist__close_control(stat_config.ctl_fd, stat_config.ctl_fd_ack, &stat_config.ctl_fd_close); in cmd_stat()