Lines Matching refs:env
184 static struct env { struct
230 } env; argument
234 if (!env.verbose) in libbpf_print_fn()
236 if (level == LIBBPF_DEBUG && !env.debug) in libbpf_print_fn()
318 env.show_version = true; in parse_arg()
321 env.verbose = true; in parse_arg()
324 env.debug = true; in parse_arg()
325 env.verbose = true; in parse_arg()
328 env.quiet = true; in parse_arg()
331 err = parse_stats(arg, &env.output_spec); in parse_arg()
336 err = parse_stats(arg, &env.sort_spec); in parse_arg()
342 env.out_fmt = RESFMT_TABLE; in parse_arg()
344 env.out_fmt = RESFMT_CSV; in parse_arg()
352 env.log_level = strtol(arg, NULL, 10); in parse_arg()
359 env.log_fixed = true; in parse_arg()
363 env.log_size = strtol(arg, NULL, 10); in parse_arg()
370 env.force_checkpoints = true; in parse_arg()
373 env.force_reg_invariants = true; in parse_arg()
377 env.top_n = strtol(arg, NULL, 10); in parse_arg()
384 env.comparison_mode = true; in parse_arg()
387 env.replay_mode = true; in parse_arg()
393 err = append_filter(&env.deny_filters, &env.deny_filter_cnt, arg + 1); in parse_arg()
395 err = append_filter(&env.allow_filters, &env.allow_filter_cnt, arg); in parse_arg()
403 env.top_src_lines = strtol(arg, NULL, 10); in parse_arg()
413 err = append_var_preset(&env.presets, &env.npresets, arg); in parse_arg()
502 for (i = 0; i < env.deny_filter_cnt; i++) { in should_process_file_prog()
503 f = &env.deny_filters[i]; in should_process_file_prog()
517 for (i = 0; i < env.allow_filter_cnt; i++) { in should_process_file_prog()
518 f = &env.allow_filters[i]; in should_process_file_prog()
709 err = append_filter(&env.deny_filters, &env.deny_filter_cnt, buf + 1); in append_filter_file()
711 err = append_filter(&env.allow_filters, &env.allow_filter_cnt, buf); in append_filter_file()
733 tmp = realloc(env.filenames, (env.filename_cnt + 1) * sizeof(*env.filenames)); in append_file()
736 env.filenames = tmp; in append_file()
737 env.filenames[env.filename_cnt] = strdup(path); in append_file()
738 if (!env.filenames[env.filename_cnt]) in append_file()
740 env.filename_cnt++; in append_file()
1101 for (i = 0; i < min(unique_lines, env.top_src_lines); ++i) { in print_top_src_lines()
1286 if (!env.quiet) { in fixup_obj()
1292 if (!env.quiet) { in fixup_obj()
1335 for (i = 0; i < env.output_spec.spec_cnt; i++) in output_stat_enabled()
1336 if (env.output_spec.ids[i] == id) in output_stat_enabled()
1399 close(env.memory_peak_fd); in destroy_stat_cgroup()
1401 if (env.orig_cgroup[0]) { in destroy_stat_cgroup()
1402 snprintf(buf, sizeof(buf), "%s/cgroup.procs", env.orig_cgroup); in destroy_stat_cgroup()
1405 log_errno("moving self to original cgroup %s\n", env.orig_cgroup); in destroy_stat_cgroup()
1408 if (env.stat_cgroup[0]) { in destroy_stat_cgroup()
1409 err = rmdir(env.stat_cgroup); in destroy_stat_cgroup()
1411 log_errno("deletion of cgroup %s", env.stat_cgroup); in destroy_stat_cgroup()
1414 env.memory_peak_fd = -1; in destroy_stat_cgroup()
1415 env.orig_cgroup[0] = 0; in destroy_stat_cgroup()
1416 env.stat_cgroup[0] = 0; in destroy_stat_cgroup()
1429 env.memory_peak_fd = -1; in create_stat_cgroup()
1439 else if (!env.quiet) in create_stat_cgroup()
1449 else if (!env.quiet) in create_stat_cgroup()
1454 snprintf(env.orig_cgroup, sizeof(env.orig_cgroup), "%s/%s", cgroup_fs_mount, buf); in create_stat_cgroup()
1462 strcpy(env.stat_cgroup, buf); in create_stat_cgroup()
1464 snprintf(buf, sizeof(buf), "%s/cgroup.procs", env.stat_cgroup); in create_stat_cgroup()
1471 snprintf(buf, sizeof(buf), "%s/memory.peak", env.stat_cgroup); in create_stat_cgroup()
1472 env.memory_peak_fd = open(buf, O_RDWR | O_APPEND); in create_stat_cgroup()
1473 if (env.memory_peak_fd < 0) { in create_stat_cgroup()
1481 if (!env.quiet) in create_stat_cgroup()
1492 if (env.memory_peak_fd < 0) in cgroup_memory_peak()
1495 err = pread(env.memory_peak_fd, buf, sizeof(buf) - 1, 0); in cgroup_memory_peak()
1497 log_errno("pread(%s/memory.peak)", env.stat_cgroup); in cgroup_memory_peak()
1505 log_errno("%s/memory.peak:strtoll(%s)", env.stat_cgroup, buf); in cgroup_memory_peak()
1517 if (env.memory_peak_fd < 0) in reset_stat_cgroup()
1520 err = pwrite(env.memory_peak_fd, buf, sizeof(buf), 0); in reset_stat_cgroup()
1522 log_errno("pwrite(%s/memory.peak)", env.stat_cgroup); in reset_stat_cgroup()
1572 env.progs_skipped++; in process_prog()
1576 tmp = realloc(env.prog_stats, (env.prog_stat_cnt + 1) * sizeof(*env.prog_stats)); in process_prog()
1579 env.prog_stats = tmp; in process_prog()
1580 stats = &env.prog_stats[env.prog_stat_cnt++]; in process_prog()
1583 if (env.verbose || env.top_src_lines > 0) { in process_prog()
1584 buf_sz = env.log_size ? env.log_size : max_verifier_log_size(); in process_prog()
1589 log_level = env.log_level | 4 | (env.log_fixed ? 8 : 0); in process_prog()
1591 if (env.top_src_lines > 0 && env.log_level == 0) in process_prog()
1597 log_level = 4 | (env.log_fixed ? 8 : 0); in process_prog()
1607 if (env.force_checkpoints) in process_prog()
1609 if (env.force_reg_invariants) in process_prog()
1621 env.progs_processed++; in process_prog()
1638 if (env.verbose) { in process_prog()
1643 if (env.top_src_lines > 0) in process_prog()
1766 err = append_var_preset(&env.presets, &env.npresets, buf); in append_var_preset_file()
2138 if (env.verbose) in process_obj()
2140 env.files_skipped++; in process_obj()
2144 if (env.verbose) in process_obj()
2146 env.files_skipped++; in process_obj()
2150 if (!env.quiet && env.out_fmt == RESFMT_TABLE) in process_obj()
2163 env.files_skipped++; in process_obj()
2168 env.files_processed++; in process_obj()
2177 err = set_global_vars(obj, env.presets, env.npresets); in process_obj()
2196 err = set_global_vars(tobj, env.presets, env.npresets); in process_obj()
2274 for (i = 0; i < env.sort_spec.spec_cnt; i++) { in cmp_prog_stats()
2275 cmp = cmp_stat(s1, s2, env.sort_spec.ids[i], in cmp_prog_stats()
2276 env.sort_spec.asc[i], env.sort_spec.abs[i]); in cmp_prog_stats()
2373 for (i = 0; i < env.sort_spec.spec_cnt; i++) { in cmp_join_stats()
2375 env.sort_spec.ids[i], in cmp_join_stats()
2376 env.sort_spec.variants[i], in cmp_join_stats()
2377 env.sort_spec.asc[i], in cmp_join_stats()
2378 env.sort_spec.abs[i]); in cmp_join_stats()
2397 for (i = 0; i < env.output_spec.spec_cnt; i++) { in output_header_underlines()
2398 len = env.output_spec.lens[i]; in output_header_underlines()
2412 for (i = 0; i < env.output_spec.spec_cnt; i++) { in output_headers()
2413 int id = env.output_spec.ids[i]; in output_headers()
2414 int *max_len = &env.output_spec.lens[i]; in output_headers()
2425 if (i == env.output_spec.spec_cnt - 1) in output_headers()
2430 if (i == env.output_spec.spec_cnt - 1) in output_headers()
2490 for (i = 0; i < env.output_spec.spec_cnt; i++) { in output_stats()
2491 int id = env.output_spec.ids[i]; in output_stats()
2492 int *max_len = &env.output_spec.lens[i], len; in output_stats()
2512 if (i == env.output_spec.spec_cnt - 1) in output_stats()
2520 if (i == env.output_spec.spec_cnt - 1) in output_stats()
2529 env.files_processed, env.files_skipped, env.progs_processed, env.progs_skipped); in output_stats()
2733 for (i = 0; i < env.output_spec.spec_cnt; i++) { in output_comp_header_underlines()
2734 int id = env.output_spec.ids[i]; in output_comp_header_underlines()
2738 int len = env.output_spec.lens[3 * i + j]; in output_comp_header_underlines()
2755 for (i = 0; i < env.output_spec.spec_cnt; i++) { in output_comp_headers()
2756 int id = env.output_spec.ids[i]; in output_comp_headers()
2761 int *max_len = &env.output_spec.lens[3 * i + j]; in output_comp_headers()
2762 bool last = (i == env.output_spec.spec_cnt - 1) && (j == max_j - 1); in output_comp_headers()
2801 for (i = 0; i < env.output_spec.spec_cnt; i++) { in output_comp_stats()
2802 int id = env.output_spec.ids[i], len; in output_comp_stats()
2803 int *max_len_base = &env.output_spec.lens[3 * i + 0]; in output_comp_stats()
2804 int *max_len_comp = &env.output_spec.lens[3 * i + 1]; in output_comp_stats()
2805 int *max_len_diff = &env.output_spec.lens[3 * i + 2]; in output_comp_stats()
2879 if (i == env.output_spec.spec_cnt - 1) in output_comp_stats()
2889 if (i == env.output_spec.spec_cnt - 1) in output_comp_stats()
2938 for (i = 0; i < env.deny_filter_cnt; i++) { in should_output_join_stats()
2939 f = &env.deny_filters[i]; in should_output_join_stats()
2947 for (i = 0; i < env.allow_filter_cnt; i++) { in should_output_join_stats()
2948 f = &env.allow_filters[i]; in should_output_join_stats()
2968 if (env.filename_cnt != 2) { in handle_comparison_mode()
2974 err = parse_stats_csv(env.filenames[0], &base_specs, in handle_comparison_mode()
2975 &env.baseline_stats, &env.baseline_stat_cnt); in handle_comparison_mode()
2977 fprintf(stderr, "Failed to parse stats from '%s': %d\n", env.filenames[0], err); in handle_comparison_mode()
2980 err = parse_stats_csv(env.filenames[1], &comp_specs, in handle_comparison_mode()
2981 &env.prog_stats, &env.prog_stat_cnt); in handle_comparison_mode()
2983 fprintf(stderr, "Failed to parse stats from '%s': %d\n", env.filenames[1], err); in handle_comparison_mode()
2993 env.filenames[0], env.filenames[1], in handle_comparison_mode()
3000 env.filenames[0], env.filenames[1], in handle_comparison_mode()
3011 tmp_sort_spec = env.sort_spec; in handle_comparison_mode()
3012 env.sort_spec = join_sort_spec; in handle_comparison_mode()
3013 qsort(env.prog_stats, env.prog_stat_cnt, sizeof(*env.prog_stats), cmp_prog_stats); in handle_comparison_mode()
3014 qsort(env.baseline_stats, env.baseline_stat_cnt, sizeof(*env.baseline_stats), cmp_prog_stats); in handle_comparison_mode()
3015 env.sort_spec = tmp_sort_spec; in handle_comparison_mode()
3023 while (i < env.baseline_stat_cnt || j < env.prog_stat_cnt) { in handle_comparison_mode()
3029 base = i < env.baseline_stat_cnt ? &env.baseline_stats[i] : &fallback_stats; in handle_comparison_mode()
3030 comp = j < env.prog_stat_cnt ? &env.prog_stats[j] : &fallback_stats; in handle_comparison_mode()
3034 i, env.filenames[0]); in handle_comparison_mode()
3039 j, env.filenames[1]); in handle_comparison_mode()
3043 tmp = realloc(env.join_stats, (env.join_stat_cnt + 1) * sizeof(*env.join_stats)); in handle_comparison_mode()
3046 env.join_stats = tmp; in handle_comparison_mode()
3048 join = &env.join_stats[env.join_stat_cnt]; in handle_comparison_mode()
3076 env.join_stat_cnt += 1; in handle_comparison_mode()
3080 qsort(env.join_stats, env.join_stat_cnt, sizeof(*env.join_stats), cmp_join_stats); in handle_comparison_mode()
3087 if (env.out_fmt == RESFMT_TABLE) in handle_comparison_mode()
3090 cur_fmt = env.out_fmt; in handle_comparison_mode()
3097 for (i = 0; i < env.join_stat_cnt; i++) { in handle_comparison_mode()
3098 const struct verif_stats_join *join = &env.join_stats[i]; in handle_comparison_mode()
3103 if (env.top_n && cnt >= env.top_n) in handle_comparison_mode()
3147 for (i = 0; i < env.deny_filter_cnt; i++) { in should_output_stats()
3148 f = &env.deny_filters[i]; in should_output_stats()
3156 for (i = 0; i < env.allow_filter_cnt; i++) { in should_output_stats()
3157 f = &env.allow_filters[i]; in should_output_stats()
3175 if (env.out_fmt == RESFMT_TABLE) { in output_prog_stats()
3178 for (i = 0; i < env.prog_stat_cnt; i++) { in output_prog_stats()
3179 stats = &env.prog_stats[i]; in output_prog_stats()
3188 output_headers(env.out_fmt); in output_prog_stats()
3189 for (i = 0; i < env.prog_stat_cnt; i++) { in output_prog_stats()
3190 stats = &env.prog_stats[i]; in output_prog_stats()
3193 if (env.top_n && cnt >= env.top_n) in output_prog_stats()
3195 output_stats(stats, env.out_fmt, i == last_stat_idx); in output_prog_stats()
3204 if (env.filename_cnt == 0) { in handle_verif_mode()
3211 for (i = 0; i < env.filename_cnt; i++) { in handle_verif_mode()
3212 err = process_obj(env.filenames[i]); in handle_verif_mode()
3214 fprintf(stderr, "Failed to process '%s': %d\n", env.filenames[i], err); in handle_verif_mode()
3219 qsort(env.prog_stats, env.prog_stat_cnt, sizeof(*env.prog_stats), cmp_prog_stats); in handle_verif_mode()
3233 if (env.filename_cnt != 1) { in handle_replay_mode()
3239 err = parse_stats_csv(env.filenames[0], &specs, in handle_replay_mode()
3240 &env.prog_stats, &env.prog_stat_cnt); in handle_replay_mode()
3242 fprintf(stderr, "Failed to parse stats from '%s': %d\n", env.filenames[0], err); in handle_replay_mode()
3246 qsort(env.prog_stats, env.prog_stat_cnt, sizeof(*env.prog_stats), cmp_prog_stats); in handle_replay_mode()
3260 if (env.show_version) { in main()
3265 if (env.verbose && env.quiet) { in main()
3270 if (env.verbose && env.log_level == 0) in main()
3271 env.log_level = 1; in main()
3273 if (env.output_spec.spec_cnt == 0) { in main()
3274 if (env.out_fmt == RESFMT_CSV) in main()
3275 env.output_spec = default_csv_output_spec; in main()
3277 env.output_spec = default_output_spec; in main()
3279 if (env.sort_spec.spec_cnt == 0) in main()
3280 env.sort_spec = default_sort_spec; in main()
3282 if (env.comparison_mode && env.replay_mode) { in main()
3288 if (env.comparison_mode) in main()
3290 else if (env.replay_mode) in main()
3295 free_verif_stats(env.prog_stats, env.prog_stat_cnt); in main()
3296 free_verif_stats(env.baseline_stats, env.baseline_stat_cnt); in main()
3297 free(env.join_stats); in main()
3298 for (i = 0; i < env.filename_cnt; i++) in main()
3299 free(env.filenames[i]); in main()
3300 free(env.filenames); in main()
3301 for (i = 0; i < env.allow_filter_cnt; i++) { in main()
3302 free(env.allow_filters[i].any_glob); in main()
3303 free(env.allow_filters[i].file_glob); in main()
3304 free(env.allow_filters[i].prog_glob); in main()
3306 free(env.allow_filters); in main()
3307 for (i = 0; i < env.deny_filter_cnt; i++) { in main()
3308 free(env.deny_filters[i].any_glob); in main()
3309 free(env.deny_filters[i].file_glob); in main()
3310 free(env.deny_filters[i].prog_glob); in main()
3312 free(env.deny_filters); in main()
3313 for (i = 0; i < env.npresets; ++i) { in main()
3314 free(env.presets[i].full_name); in main()
3315 for (j = 0; j < env.presets[i].atom_count; ++j) { in main()
3316 switch (env.presets[i].atoms[j].type) { in main()
3318 free(env.presets[i].atoms[j].name); in main()
3321 if (env.presets[i].atoms[j].index.type == ENUMERATOR) in main()
3322 free(env.presets[i].atoms[j].index.svalue); in main()
3326 free(env.presets[i].atoms); in main()
3328 free(env.presets); in main()