Lines Matching refs:stat_config
192 static struct perf_stat_config stat_config = {
276 for (i = 0; i < stat_config.stats_num; i++)
277 perf_stat__reset_shadow_per_stat(&stat_config.stats[i]);
371 fprintf(stat_config.output,
416 if (!stat_config.stop_read_counter && (read_affinity_counters(rs) < 0))
422 if (counter->err == 0 && perf_stat_process_counter(&stat_config, counter))
476 runtime_stat_reset(&stat_config);
485 update_stats(&walltime_nsecs_stats, stat_config.interval * 1000000ULL);
501 if (stat_config.initial_delay < 0) {
506 if (stat_config.initial_delay > 0) {
508 usleep(stat_config.initial_delay * USEC_PER_MSEC);
516 if (!target__none(&target) || stat_config.initial_delay) {
518 if (stat_config.initial_delay > 0)
712 int interval = stat_config.interval;
713 int times = stat_config.times;
714 int timeout = stat_config.timeout;
750 if (create_perf_stat_counter(counter, &stat_config, &target,
811 if (create_perf_stat_counter(counter, &stat_config, &target,
838 if (l > stat_config.unit_width)
839 stat_config.unit_width = l;
866 err = perf_event__synthesize_stat_events(&stat_config, NULL, evsel_list,
887 wait4(child_pid, &status, 0, &stat_config.ru_data);
907 if (stat_config.walltime_run_table)
908 stat_config.walltime_run[run_idx] = t1 - t0;
910 if (interval && stat_config.summary) {
911 stat_config.interval = 0;
912 stat_config.stop_read_counter = true;
916 if (stat_config.aggr_mode == AGGR_GLOBAL)
921 runtime_stat_reset(&stat_config);
976 perf_evlist__print_counters(evsel_list, &stat_config, &target,
984 if ((child_pid == -1) || stat_config.interval)
1025 stat_config.big_num = (set != 0);
1040 stat_config.metric_only = !unset;
1049 stat_config.metric_no_group,
1050 stat_config.metric_no_merge,
1051 &stat_config.metric_events);
1066 if (stat_config.cgroup_list) {
1082 OPT_BOOLEAN('i', "no-inherit", &stat_config.no_inherit,
1092 OPT_BOOLEAN(0, "scale", &stat_config.scale,
1096 OPT_INTEGER('r', "repeat", &stat_config.run_count,
1098 OPT_BOOLEAN(0, "table", &stat_config.walltime_run_table,
1100 OPT_BOOLEAN('n', "null", &stat_config.null_run,
1111 OPT_SET_UINT('A', "no-aggr", &stat_config.aggr_mode,
1113 OPT_BOOLEAN(0, "no-merge", &stat_config.no_merge, "Do not merge identical named events"),
1114 OPT_STRING('x', "field-separator", &stat_config.csv_sep, "separator",
1118 OPT_STRING(0, "for-each-cgroup", &stat_config.cgroup_list, "name",
1128 OPT_UINTEGER('I', "interval-print", &stat_config.interval,
1131 OPT_INTEGER(0, "interval-count", &stat_config.times,
1133 OPT_BOOLEAN(0, "interval-clear", &stat_config.interval_clear,
1135 OPT_UINTEGER(0, "timeout", &stat_config.timeout,
1137 OPT_SET_UINT(0, "per-socket", &stat_config.aggr_mode,
1139 OPT_SET_UINT(0, "per-die", &stat_config.aggr_mode,
1141 OPT_SET_UINT(0, "per-core", &stat_config.aggr_mode,
1143 OPT_SET_UINT(0, "per-thread", &stat_config.aggr_mode,
1145 OPT_SET_UINT(0, "per-node", &stat_config.aggr_mode,
1147 OPT_INTEGER('D', "delay", &stat_config.initial_delay,
1149 OPT_CALLBACK_NOOPT(0, "metric-only", &stat_config.metric_only, NULL,
1151 OPT_BOOLEAN(0, "metric-no-group", &stat_config.metric_no_group,
1153 OPT_BOOLEAN(0, "metric-no-merge", &stat_config.metric_no_merge,
1162 OPT_BOOLEAN_FLAG(0, "all-kernel", &stat_config.all_kernel,
1165 OPT_BOOLEAN_FLAG(0, "all-user", &stat_config.all_user,
1168 OPT_BOOLEAN(0, "percore-show-thread", &stat_config.percore_show_thread,
1172 OPT_BOOLEAN(0, "summary", &stat_config.summary,
1179 OPT_CALLBACK(0, "control", &stat_config, "fd:ctl-fd[,ack-fd] or fifo:ctl-fifo[,ack-fifo]",
1267 switch (stat_config.aggr_mode) {
1269 if (cpu_map__build_socket_map(evsel_list->core.cpus, &stat_config.aggr_map)) {
1273 stat_config.aggr_get_id = perf_stat__get_socket_cached;
1276 if (cpu_map__build_die_map(evsel_list->core.cpus, &stat_config.aggr_map)) {
1280 stat_config.aggr_get_id = perf_stat__get_die_cached;
1283 if (cpu_map__build_core_map(evsel_list->core.cpus, &stat_config.aggr_map)) {
1287 stat_config.aggr_get_id = perf_stat__get_core_cached;
1290 if (cpu_map__build_node_map(evsel_list->core.cpus, &stat_config.aggr_map)) {
1294 stat_config.aggr_get_id = perf_stat__get_node_cached;
1299 &stat_config.aggr_map)) {
1303 stat_config.aggr_get_id = perf_stat__get_core_cached;
1319 stat_config.cpus_aggr_map = perf_cpu_map__empty_new(nr + 1);
1320 return stat_config.cpus_aggr_map ? 0 : -ENOMEM;
1325 perf_cpu_map__put(stat_config.aggr_map);
1326 perf_cpu_map__put(stat_config.cpus_aggr_map);
1327 stat_config.aggr_map = NULL;
1328 stat_config.cpus_aggr_map = NULL;
1466 switch (stat_config.aggr_mode) {
1468 if (perf_env__build_socket_map(env, evsel_list->core.cpus, &stat_config.aggr_map)) {
1472 stat_config.aggr_get_id = perf_stat__get_socket_file;
1475 if (perf_env__build_die_map(env, evsel_list->core.cpus, &stat_config.aggr_map)) {
1479 stat_config.aggr_get_id = perf_stat__get_die_file;
1482 if (perf_env__build_core_map(env, evsel_list->core.cpus, &stat_config.aggr_map)) {
1486 stat_config.aggr_get_id = perf_stat__get_core_file;
1489 if (perf_env__build_node_map(env, evsel_list->core.cpus, &stat_config.aggr_map)) {
1493 stat_config.aggr_get_id = perf_stat__get_node_file;
1628 if (stat_config.null_run)
1642 stat_config.metric_no_group,
1643 stat_config.metric_no_merge,
1644 &stat_config.metric_events);
1682 stat_config.metric_only = true;
1703 stat_config.metric_only = true;
1710 if (!stat_config.interval && !stat_config.metric_only) {
1711 fprintf(stat_config.output,
1720 if (stat_config.aggr_mode != AGGR_GLOBAL &&
1721 stat_config.aggr_mode != AGGR_CORE) {
1725 stat_config.aggr_mode = AGGR_CORE;
1827 if (stat_config.run_count != 1 || forever) {
1856 perf_stat_process_counter(&stat_config, counter);
1861 if (stat_config.interval && stat_round->time) {
1878 perf_event__read_stat_config(&stat_config, &event->stat_config);
1887 stat_config.aggr_mode = st->aggr_mode;
1965 .stat_config = process_stat_config_event,
2009 stat_config.output = stderr;
2082 if (stat_config.csv_sep) {
2083 stat_config.csv_output = true;
2084 if (!strcmp(stat_config.csv_sep, "\\t"))
2085 stat_config.csv_sep = "\t";
2087 stat_config.csv_sep = DEFAULT_SEPARATOR;
2096 interval = stat_config.interval;
2097 timeout = stat_config.timeout;
2112 if (stat_config.metric_only && stat_config.aggr_mode == AGGR_THREAD) {
2117 if (stat_config.metric_only && stat_config.run_count > 1) {
2122 if (stat_config.walltime_run_table && stat_config.run_count <= 1) {
2155 stat_config.output = output;
2160 if (stat_config.csv_output) {
2168 stat_config.big_num = false;
2170 stat_config.big_num = false;
2178 if ((stat_config.run_count == 1) && target__none(&target))
2179 stat_config.ru_display = true;
2181 if (stat_config.run_count < 0) {
2185 } else if (stat_config.run_count == 0) {
2187 stat_config.run_count = 1;
2190 if (stat_config.walltime_run_table) {
2191 stat_config.walltime_run = zalloc(stat_config.run_count * sizeof(stat_config.walltime_run[0]));
2192 if (!stat_config.walltime_run) {
2198 if ((stat_config.aggr_mode == AGGR_THREAD) &&
2214 if (((stat_config.aggr_mode != AGGR_GLOBAL &&
2215 stat_config.aggr_mode != AGGR_THREAD) || nr_cgroups) &&
2229 if (stat_config.cgroup_list) {
2237 if (evlist__expand_cgroup(evsel_list, stat_config.cgroup_list,
2238 &stat_config.metric_events, true) < 0)
2244 if ((stat_config.aggr_mode == AGGR_THREAD) && (target.system_wide))
2266 if (stat_config.aggr_mode == AGGR_THREAD) {
2269 if (runtime_stat_new(&stat_config,
2276 if (stat_config.aggr_mode == AGGR_NODE)
2279 if (stat_config.times && interval)
2281 else if (stat_config.times && !interval) {
2321 stat_config.identifier = !(STAT_RECORD && perf_stat.data.is_pipe);
2336 if (evlist__initialize_ctlfd(evsel_list, stat_config.ctl_fd, stat_config.ctl_fd_ack))
2340 for (run_idx = 0; forever || run_idx < stat_config.run_count; run_idx++) {
2341 if (stat_config.run_count != 1 && verbose > 0)
2355 if (!forever && status != -1 && (!interval || stat_config.summary))
2399 zfree(&stat_config.walltime_run);
2406 metricgroup__rblist_exit(&stat_config.metric_events);
2407 runtime_stat_delete(&stat_config);
2408 evlist__close_control(stat_config.ctl_fd, stat_config.ctl_fd_ack, &stat_config.ctl_fd_close);