Lines Matching refs:params
176 struct timerlat_hist_params *params = tool->params; in timerlat_hist_update() local
182 if (params->output_divisor) in timerlat_hist_update()
183 latency = latency / params->output_divisor; in timerlat_hist_update()
240 struct timerlat_hist_params *params = tool->params; in timerlat_hist_header() local
246 if (params->no_header) in timerlat_hist_header()
252 params->output_divisor == 1 ? "nanoseconds" : "microseconds", in timerlat_hist_header()
253 params->output_divisor == 1 ? "ns" : "us"); in timerlat_hist_header()
257 if (!params->no_index) in timerlat_hist_header()
261 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_hist_header()
267 if (!params->no_irq) in timerlat_hist_header()
270 if (!params->no_thread) in timerlat_hist_header()
273 if (params->user_hist) in timerlat_hist_header()
287 timerlat_print_summary(struct timerlat_hist_params *params, in timerlat_print_summary() argument
293 if (params->no_summary) in timerlat_print_summary()
296 if (!params->no_index) in timerlat_print_summary()
300 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
306 if (!params->no_irq) in timerlat_print_summary()
310 if (!params->no_thread) in timerlat_print_summary()
314 if (params->user_hist) in timerlat_print_summary()
320 if (!params->no_index) in timerlat_print_summary()
324 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
330 if (!params->no_irq) { in timerlat_print_summary()
338 if (!params->no_thread) { in timerlat_print_summary()
346 if (params->user_hist) { in timerlat_print_summary()
356 if (!params->no_index) in timerlat_print_summary()
360 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
366 if (!params->no_irq) { in timerlat_print_summary()
374 if (!params->no_thread) { in timerlat_print_summary()
382 if (params->user_hist) { in timerlat_print_summary()
392 if (!params->no_index) in timerlat_print_summary()
396 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
402 if (!params->no_irq) { in timerlat_print_summary()
410 if (!params->no_thread) { in timerlat_print_summary()
418 if (params->user_hist) { in timerlat_print_summary()
432 timerlat_print_stats_all(struct timerlat_hist_params *params, in timerlat_print_stats_all() argument
440 if (params->no_summary) in timerlat_print_stats_all()
449 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_stats_all()
473 if (!params->no_index) in timerlat_print_stats_all()
476 if (!params->no_irq) in timerlat_print_stats_all()
479 if (!params->no_thread) in timerlat_print_stats_all()
482 if (params->user_hist) in timerlat_print_stats_all()
487 if (!params->no_index) in timerlat_print_stats_all()
490 if (!params->no_irq) in timerlat_print_stats_all()
494 if (!params->no_thread) in timerlat_print_stats_all()
498 if (params->user_hist) in timerlat_print_stats_all()
504 if (!params->no_index) in timerlat_print_stats_all()
507 if (!params->no_irq) in timerlat_print_stats_all()
511 if (!params->no_thread) in timerlat_print_stats_all()
515 if (params->user_hist) in timerlat_print_stats_all()
521 if (!params->no_index) in timerlat_print_stats_all()
524 if (!params->no_irq) in timerlat_print_stats_all()
528 if (!params->no_thread) in timerlat_print_stats_all()
532 if (params->user_hist) in timerlat_print_stats_all()
538 if (!params->no_index) in timerlat_print_stats_all()
541 if (!params->no_irq) in timerlat_print_stats_all()
545 if (!params->no_thread) in timerlat_print_stats_all()
549 if (params->user_hist) in timerlat_print_stats_all()
562 timerlat_print_stats(struct timerlat_hist_params *params, struct osnoise_tool *tool) in timerlat_print_stats() argument
574 if (!params->no_index) in timerlat_print_stats()
579 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_stats()
585 if (!params->no_irq) { in timerlat_print_stats()
591 if (!params->no_thread) { in timerlat_print_stats()
597 if (params->user_hist) { in timerlat_print_stats()
605 if (total == 0 && !params->with_zeros) { in timerlat_print_stats()
615 if (!params->no_index) in timerlat_print_stats()
619 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_stats()
625 if (!params->no_irq) in timerlat_print_stats()
629 if (!params->no_thread) in timerlat_print_stats()
633 if (params->user_hist) in timerlat_print_stats()
641 timerlat_print_summary(params, trace, data); in timerlat_print_stats()
642 timerlat_print_stats_all(params, trace, data); in timerlat_print_stats()
722 struct timerlat_hist_params *params; in timerlat_hist_parse_args() local
728 params = calloc(1, sizeof(*params)); in timerlat_hist_parse_args()
729 if (!params) in timerlat_hist_parse_args()
733 params->dma_latency = -1; in timerlat_hist_parse_args()
736 params->output_divisor = 1000; in timerlat_hist_parse_args()
737 params->bucket_size = 1; in timerlat_hist_parse_args()
738 params->entries = 256; in timerlat_hist_parse_args()
793 params->stop_total_us = auto_thresh; in timerlat_hist_parse_args()
794 params->stop_us = auto_thresh; in timerlat_hist_parse_args()
797 params->print_stack = auto_thresh; in timerlat_hist_parse_args()
800 params->trace_output = "timerlat_trace.txt"; in timerlat_hist_parse_args()
804 retval = parse_cpu_set(optarg, ¶ms->monitored_cpus); in timerlat_hist_parse_args()
807 params->cpus = optarg; in timerlat_hist_parse_args()
810 params->cgroup = 1; in timerlat_hist_parse_args()
813 params->cgroup_name = NULL; in timerlat_hist_parse_args()
816 params->cgroup_name = ++optarg; in timerlat_hist_parse_args()
820 params->bucket_size = get_llong_from_str(optarg); in timerlat_hist_parse_args()
821 if ((params->bucket_size == 0) || (params->bucket_size >= 1000000)) in timerlat_hist_parse_args()
828 params->duration = parse_seconds_duration(optarg); in timerlat_hist_parse_args()
829 if (!params->duration) in timerlat_hist_parse_args()
839 if (params->events) in timerlat_hist_parse_args()
840 tevent->next = params->events; in timerlat_hist_parse_args()
842 params->events = tevent; in timerlat_hist_parse_args()
845 params->entries = get_llong_from_str(optarg); in timerlat_hist_parse_args()
846 if ((params->entries < 10) || (params->entries > 9999999)) in timerlat_hist_parse_args()
854 params->hk_cpus = 1; in timerlat_hist_parse_args()
855 retval = parse_cpu_set(optarg, ¶ms->hk_cpu_set); in timerlat_hist_parse_args()
862 params->stop_us = get_llong_from_str(optarg); in timerlat_hist_parse_args()
865 params->kernel_workload = 1; in timerlat_hist_parse_args()
868 params->output_divisor = 1; in timerlat_hist_parse_args()
871 params->timerlat_period_us = get_llong_from_str(optarg); in timerlat_hist_parse_args()
872 if (params->timerlat_period_us > 1000000) in timerlat_hist_parse_args()
876 retval = parse_prio(optarg, ¶ms->sched_param); in timerlat_hist_parse_args()
879 params->set_sched = 1; in timerlat_hist_parse_args()
882 params->print_stack = get_llong_from_str(optarg); in timerlat_hist_parse_args()
885 params->stop_total_us = get_llong_from_str(optarg); in timerlat_hist_parse_args()
890 params->trace_output = &optarg[1]; in timerlat_hist_parse_args()
892 params->trace_output = &optarg[0]; in timerlat_hist_parse_args()
894 params->trace_output = argv[optind]; in timerlat_hist_parse_args()
896 params->trace_output = "timerlat_trace.txt"; in timerlat_hist_parse_args()
899 params->user_workload = 1; in timerlat_hist_parse_args()
902 params->user_hist = 1; in timerlat_hist_parse_args()
905 params->no_irq = 1; in timerlat_hist_parse_args()
908 params->no_thread = 1; in timerlat_hist_parse_args()
911 params->no_header = 1; in timerlat_hist_parse_args()
914 params->no_summary = 1; in timerlat_hist_parse_args()
917 params->no_index = 1; in timerlat_hist_parse_args()
920 params->with_zeros = 1; in timerlat_hist_parse_args()
923 if (params->events) { in timerlat_hist_parse_args()
924 retval = trace_event_add_trigger(params->events, optarg); in timerlat_hist_parse_args()
934 if (params->events) { in timerlat_hist_parse_args()
935 retval = trace_event_add_filter(params->events, optarg); in timerlat_hist_parse_args()
945 params->dma_latency = get_llong_from_str(optarg); in timerlat_hist_parse_args()
946 if (params->dma_latency < 0 || params->dma_latency > 10000) { in timerlat_hist_parse_args()
952 params->no_aa = 1; in timerlat_hist_parse_args()
955 params->dump_tasks = 1; in timerlat_hist_parse_args()
958 params->warmup = get_llong_from_str(optarg); in timerlat_hist_parse_args()
961 params->buffer_size = get_llong_from_str(optarg); in timerlat_hist_parse_args()
973 if (params->no_irq && params->no_thread) in timerlat_hist_parse_args()
976 if (params->no_index && !params->with_zeros) in timerlat_hist_parse_args()
982 if (!params->stop_us && !params->stop_total_us) in timerlat_hist_parse_args()
983 params->no_aa = 1; in timerlat_hist_parse_args()
985 if (params->kernel_workload && params->user_workload) in timerlat_hist_parse_args()
988 return params; in timerlat_hist_parse_args()
995 timerlat_hist_apply_config(struct osnoise_tool *tool, struct timerlat_hist_params *params) in timerlat_hist_apply_config() argument
999 if (!params->sleep_time) in timerlat_hist_apply_config()
1000 params->sleep_time = 1; in timerlat_hist_apply_config()
1002 if (params->cpus) { in timerlat_hist_apply_config()
1003 retval = osnoise_set_cpus(tool->context, params->cpus); in timerlat_hist_apply_config()
1010 CPU_SET(i, ¶ms->monitored_cpus); in timerlat_hist_apply_config()
1013 if (params->stop_us) { in timerlat_hist_apply_config()
1014 retval = osnoise_set_stop_us(tool->context, params->stop_us); in timerlat_hist_apply_config()
1021 if (params->stop_total_us) { in timerlat_hist_apply_config()
1022 retval = osnoise_set_stop_total_us(tool->context, params->stop_total_us); in timerlat_hist_apply_config()
1029 if (params->timerlat_period_us) { in timerlat_hist_apply_config()
1030 retval = osnoise_set_timerlat_period_us(tool->context, params->timerlat_period_us); in timerlat_hist_apply_config()
1037 if (params->print_stack) { in timerlat_hist_apply_config()
1038 retval = osnoise_set_print_stack(tool->context, params->print_stack); in timerlat_hist_apply_config()
1045 if (params->hk_cpus) { in timerlat_hist_apply_config()
1046 retval = sched_setaffinity(getpid(), sizeof(params->hk_cpu_set), in timerlat_hist_apply_config()
1047 ¶ms->hk_cpu_set); in timerlat_hist_apply_config()
1052 } else if (params->cpus) { in timerlat_hist_apply_config()
1060 auto_house_keeping(¶ms->monitored_cpus); in timerlat_hist_apply_config()
1067 if (!params->kernel_workload && !params->user_workload) { in timerlat_hist_apply_config()
1071 params->user_workload = 1; in timerlat_hist_apply_config()
1072 params->user_hist = 1; in timerlat_hist_apply_config()
1075 params->kernel_workload = 1; in timerlat_hist_apply_config()
1079 if (params->user_hist) { in timerlat_hist_apply_config()
1097 *timerlat_init_hist(struct timerlat_hist_params *params) in timerlat_init_hist() argument
1108 tool->data = timerlat_alloc_histogram(nr_cpus, params->entries, params->bucket_size); in timerlat_init_hist()
1112 tool->params = params; in timerlat_init_hist()
1134 timerlat_hist_set_signals(struct timerlat_hist_params *params) in timerlat_hist_set_signals() argument
1137 if (params->duration) { in timerlat_hist_set_signals()
1139 alarm(params->duration); in timerlat_hist_set_signals()
1145 struct timerlat_hist_params *params; in timerlat_hist_main() local
1156 params = timerlat_hist_parse_args(argc, argv); in timerlat_hist_main()
1157 if (!params) in timerlat_hist_main()
1160 tool = timerlat_init_hist(params); in timerlat_hist_main()
1166 retval = timerlat_hist_apply_config(tool, params); in timerlat_hist_main()
1180 if (params->set_sched) { in timerlat_hist_main()
1181 retval = set_comm_sched_attr("timerlat/", ¶ms->sched_param); in timerlat_hist_main()
1188 if (params->cgroup && !params->user_workload) { in timerlat_hist_main()
1189 retval = set_comm_cgroup("timerlat/", params->cgroup_name); in timerlat_hist_main()
1196 if (params->dma_latency >= 0) { in timerlat_hist_main()
1197 dma_latency_fd = set_cpu_dma_latency(params->dma_latency); in timerlat_hist_main()
1204 if (params->trace_output) { in timerlat_hist_main()
1211 if (params->events) { in timerlat_hist_main()
1212 retval = trace_events_enable(&record->trace, params->events); in timerlat_hist_main()
1217 if (params->buffer_size > 0) { in timerlat_hist_main()
1218 retval = trace_set_buffer_size(&record->trace, params->buffer_size); in timerlat_hist_main()
1224 if (!params->no_aa) { in timerlat_hist_main()
1229 retval = timerlat_aa_init(aa, params->dump_tasks); in timerlat_hist_main()
1242 if (params->user_workload) { in timerlat_hist_main()
1248 params_u.set = ¶ms->monitored_cpus; in timerlat_hist_main()
1249 if (params->set_sched) in timerlat_hist_main()
1250 params_u.sched_param = ¶ms->sched_param; in timerlat_hist_main()
1254 params_u.cgroup_name = params->cgroup_name; in timerlat_hist_main()
1261 if (params->warmup > 0) { in timerlat_hist_main()
1262 debug_msg("Warming up for %d seconds\n", params->warmup); in timerlat_hist_main()
1263 sleep(params->warmup); in timerlat_hist_main()
1275 if (params->trace_output) in timerlat_hist_main()
1277 if (!params->no_aa) in timerlat_hist_main()
1282 timerlat_hist_set_signals(params); in timerlat_hist_main()
1285 sleep(params->sleep_time); in timerlat_hist_main()
1302 if (params->user_workload) { in timerlat_hist_main()
1310 if (params->user_workload && !params_u.stopped_running) { in timerlat_hist_main()
1315 timerlat_print_stats(params, tool); in timerlat_hist_main()
1322 if (!params->no_aa) in timerlat_hist_main()
1323 timerlat_auto_analysis(params->stop_us, params->stop_total_us); in timerlat_hist_main()
1325 if (params->trace_output) { in timerlat_hist_main()
1326 printf(" Saving trace to %s\n", params->trace_output); in timerlat_hist_main()
1327 save_trace_to_file(record->trace.inst, params->trace_output); in timerlat_hist_main()
1335 trace_events_destroy(&record->trace, params->events); in timerlat_hist_main()
1336 params->events = NULL; in timerlat_hist_main()
1342 free(params); in timerlat_hist_main()