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()
302 timerlat_print_summary(struct timerlat_hist_params *params, in timerlat_print_summary() argument
308 if (params->no_summary) in timerlat_print_summary()
311 if (!params->no_index) in timerlat_print_summary()
315 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
321 if (!params->no_irq) in timerlat_print_summary()
325 if (!params->no_thread) in timerlat_print_summary()
329 if (params->user_hist) in timerlat_print_summary()
335 if (!params->no_index) in timerlat_print_summary()
339 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
345 if (!params->no_irq) in timerlat_print_summary()
351 if (!params->no_thread) in timerlat_print_summary()
357 if (params->user_hist) in timerlat_print_summary()
365 if (!params->no_index) in timerlat_print_summary()
369 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
375 if (!params->no_irq) in timerlat_print_summary()
381 if (!params->no_thread) in timerlat_print_summary()
387 if (params->user_hist) in timerlat_print_summary()
395 if (!params->no_index) in timerlat_print_summary()
399 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_summary()
405 if (!params->no_irq) in timerlat_print_summary()
411 if (!params->no_thread) in timerlat_print_summary()
417 if (params->user_hist) in timerlat_print_summary()
429 timerlat_print_stats_all(struct timerlat_hist_params *params, in timerlat_print_stats_all() argument
437 if (params->no_summary) in timerlat_print_stats_all()
446 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_stats_all()
470 if (!params->no_index) in timerlat_print_stats_all()
473 if (!params->no_irq) in timerlat_print_stats_all()
476 if (!params->no_thread) in timerlat_print_stats_all()
479 if (params->user_hist) in timerlat_print_stats_all()
484 if (!params->no_index) in timerlat_print_stats_all()
487 if (!params->no_irq) in timerlat_print_stats_all()
491 if (!params->no_thread) in timerlat_print_stats_all()
495 if (params->user_hist) in timerlat_print_stats_all()
501 if (!params->no_index) in timerlat_print_stats_all()
504 if (!params->no_irq) in timerlat_print_stats_all()
510 if (!params->no_thread) in timerlat_print_stats_all()
516 if (params->user_hist) in timerlat_print_stats_all()
524 if (!params->no_index) in timerlat_print_stats_all()
527 if (!params->no_irq) in timerlat_print_stats_all()
533 if (!params->no_thread) in timerlat_print_stats_all()
539 if (params->user_hist) in timerlat_print_stats_all()
547 if (!params->no_index) in timerlat_print_stats_all()
550 if (!params->no_irq) in timerlat_print_stats_all()
556 if (!params->no_thread) in timerlat_print_stats_all()
562 if (params->user_hist) in timerlat_print_stats_all()
577 timerlat_print_stats(struct timerlat_hist_params *params, struct osnoise_tool *tool) in timerlat_print_stats() argument
589 if (!params->no_index) in timerlat_print_stats()
594 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_stats()
600 if (!params->no_irq) { in timerlat_print_stats()
606 if (!params->no_thread) { in timerlat_print_stats()
612 if (params->user_hist) { in timerlat_print_stats()
620 if (total == 0 && !params->with_zeros) { in timerlat_print_stats()
630 if (!params->no_index) in timerlat_print_stats()
634 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus)) in timerlat_print_stats()
640 if (!params->no_irq) in timerlat_print_stats()
644 if (!params->no_thread) in timerlat_print_stats()
648 if (params->user_hist) in timerlat_print_stats()
656 timerlat_print_summary(params, trace, data); in timerlat_print_stats()
657 timerlat_print_stats_all(params, trace, data); in timerlat_print_stats()
737 struct timerlat_hist_params *params; in timerlat_hist_parse_args() local
743 params = calloc(1, sizeof(*params)); in timerlat_hist_parse_args()
744 if (!params) in timerlat_hist_parse_args()
748 params->dma_latency = -1; in timerlat_hist_parse_args()
751 params->output_divisor = 1000; in timerlat_hist_parse_args()
752 params->bucket_size = 1; in timerlat_hist_parse_args()
753 params->entries = 256; in timerlat_hist_parse_args()
808 params->stop_total_us = auto_thresh; in timerlat_hist_parse_args()
809 params->stop_us = auto_thresh; in timerlat_hist_parse_args()
812 params->print_stack = auto_thresh; in timerlat_hist_parse_args()
815 params->trace_output = "timerlat_trace.txt"; in timerlat_hist_parse_args()
819 retval = parse_cpu_set(optarg, ¶ms->monitored_cpus); in timerlat_hist_parse_args()
822 params->cpus = optarg; in timerlat_hist_parse_args()
825 params->cgroup = 1; in timerlat_hist_parse_args()
828 params->cgroup_name = NULL; in timerlat_hist_parse_args()
831 params->cgroup_name = ++optarg; in timerlat_hist_parse_args()
835 params->bucket_size = get_llong_from_str(optarg); in timerlat_hist_parse_args()
836 if ((params->bucket_size == 0) || (params->bucket_size >= 1000000)) in timerlat_hist_parse_args()
843 params->duration = parse_seconds_duration(optarg); in timerlat_hist_parse_args()
844 if (!params->duration) in timerlat_hist_parse_args()
854 if (params->events) in timerlat_hist_parse_args()
855 tevent->next = params->events; in timerlat_hist_parse_args()
857 params->events = tevent; in timerlat_hist_parse_args()
860 params->entries = get_llong_from_str(optarg); in timerlat_hist_parse_args()
861 if ((params->entries < 10) || (params->entries > 9999999)) in timerlat_hist_parse_args()
869 params->hk_cpus = 1; in timerlat_hist_parse_args()
870 retval = parse_cpu_set(optarg, ¶ms->hk_cpu_set); in timerlat_hist_parse_args()
877 params->stop_us = get_llong_from_str(optarg); in timerlat_hist_parse_args()
880 params->kernel_workload = 1; in timerlat_hist_parse_args()
883 params->output_divisor = 1; in timerlat_hist_parse_args()
886 params->timerlat_period_us = get_llong_from_str(optarg); in timerlat_hist_parse_args()
887 if (params->timerlat_period_us > 1000000) in timerlat_hist_parse_args()
891 retval = parse_prio(optarg, ¶ms->sched_param); in timerlat_hist_parse_args()
894 params->set_sched = 1; in timerlat_hist_parse_args()
897 params->print_stack = get_llong_from_str(optarg); in timerlat_hist_parse_args()
900 params->stop_total_us = get_llong_from_str(optarg); in timerlat_hist_parse_args()
905 params->trace_output = &optarg[1]; in timerlat_hist_parse_args()
907 params->trace_output = &optarg[0]; in timerlat_hist_parse_args()
909 params->trace_output = argv[optind]; in timerlat_hist_parse_args()
911 params->trace_output = "timerlat_trace.txt"; in timerlat_hist_parse_args()
914 params->user_workload = 1; in timerlat_hist_parse_args()
917 params->user_hist = 1; in timerlat_hist_parse_args()
920 params->no_irq = 1; in timerlat_hist_parse_args()
923 params->no_thread = 1; in timerlat_hist_parse_args()
926 params->no_header = 1; in timerlat_hist_parse_args()
929 params->no_summary = 1; in timerlat_hist_parse_args()
932 params->no_index = 1; in timerlat_hist_parse_args()
935 params->with_zeros = 1; in timerlat_hist_parse_args()
938 if (params->events) { in timerlat_hist_parse_args()
939 retval = trace_event_add_trigger(params->events, optarg); in timerlat_hist_parse_args()
949 if (params->events) { in timerlat_hist_parse_args()
950 retval = trace_event_add_filter(params->events, optarg); in timerlat_hist_parse_args()
960 params->dma_latency = get_llong_from_str(optarg); in timerlat_hist_parse_args()
961 if (params->dma_latency < 0 || params->dma_latency > 10000) { in timerlat_hist_parse_args()
967 params->no_aa = 1; in timerlat_hist_parse_args()
970 params->dump_tasks = 1; in timerlat_hist_parse_args()
973 params->warmup = get_llong_from_str(optarg); in timerlat_hist_parse_args()
976 params->buffer_size = get_llong_from_str(optarg); in timerlat_hist_parse_args()
988 if (params->no_irq && params->no_thread) in timerlat_hist_parse_args()
991 if (params->no_index && !params->with_zeros) in timerlat_hist_parse_args()
997 if (!params->stop_us && !params->stop_total_us) in timerlat_hist_parse_args()
998 params->no_aa = 1; in timerlat_hist_parse_args()
1000 if (params->kernel_workload && params->user_workload) in timerlat_hist_parse_args()
1003 return params; in timerlat_hist_parse_args()
1010 timerlat_hist_apply_config(struct osnoise_tool *tool, struct timerlat_hist_params *params) in timerlat_hist_apply_config() argument
1014 if (!params->sleep_time) in timerlat_hist_apply_config()
1015 params->sleep_time = 1; in timerlat_hist_apply_config()
1017 if (params->cpus) { in timerlat_hist_apply_config()
1018 retval = osnoise_set_cpus(tool->context, params->cpus); in timerlat_hist_apply_config()
1025 CPU_SET(i, ¶ms->monitored_cpus); in timerlat_hist_apply_config()
1028 if (params->stop_us) { in timerlat_hist_apply_config()
1029 retval = osnoise_set_stop_us(tool->context, params->stop_us); in timerlat_hist_apply_config()
1036 if (params->stop_total_us) { in timerlat_hist_apply_config()
1037 retval = osnoise_set_stop_total_us(tool->context, params->stop_total_us); in timerlat_hist_apply_config()
1044 if (params->timerlat_period_us) { in timerlat_hist_apply_config()
1045 retval = osnoise_set_timerlat_period_us(tool->context, params->timerlat_period_us); in timerlat_hist_apply_config()
1052 if (params->print_stack) { in timerlat_hist_apply_config()
1053 retval = osnoise_set_print_stack(tool->context, params->print_stack); in timerlat_hist_apply_config()
1060 if (params->hk_cpus) { in timerlat_hist_apply_config()
1061 retval = sched_setaffinity(getpid(), sizeof(params->hk_cpu_set), in timerlat_hist_apply_config()
1062 ¶ms->hk_cpu_set); in timerlat_hist_apply_config()
1067 } else if (params->cpus) { in timerlat_hist_apply_config()
1075 auto_house_keeping(¶ms->monitored_cpus); in timerlat_hist_apply_config()
1082 if (!params->kernel_workload && !params->user_hist) { in timerlat_hist_apply_config()
1086 params->user_workload = 1; in timerlat_hist_apply_config()
1087 params->user_hist = 1; in timerlat_hist_apply_config()
1090 params->kernel_workload = 1; in timerlat_hist_apply_config()
1099 retval = osnoise_set_workload(tool->context, params->kernel_workload); in timerlat_hist_apply_config()
1115 *timerlat_init_hist(struct timerlat_hist_params *params) in timerlat_init_hist() argument
1126 tool->data = timerlat_alloc_histogram(nr_cpus, params->entries, params->bucket_size); in timerlat_init_hist()
1130 tool->params = params; in timerlat_init_hist()
1163 timerlat_hist_set_signals(struct timerlat_hist_params *params) in timerlat_hist_set_signals() argument
1166 if (params->duration) { in timerlat_hist_set_signals()
1168 alarm(params->duration); in timerlat_hist_set_signals()
1174 struct timerlat_hist_params *params; in timerlat_hist_main() local
1185 params = timerlat_hist_parse_args(argc, argv); in timerlat_hist_main()
1186 if (!params) in timerlat_hist_main()
1189 tool = timerlat_init_hist(params); in timerlat_hist_main()
1195 retval = timerlat_hist_apply_config(tool, params); in timerlat_hist_main()
1215 if (params->set_sched) { in timerlat_hist_main()
1216 retval = set_comm_sched_attr("timerlat/", ¶ms->sched_param); in timerlat_hist_main()
1223 if (params->cgroup && !params->user_workload) { in timerlat_hist_main()
1224 retval = set_comm_cgroup("timerlat/", params->cgroup_name); in timerlat_hist_main()
1231 if (params->dma_latency >= 0) { in timerlat_hist_main()
1232 dma_latency_fd = set_cpu_dma_latency(params->dma_latency); in timerlat_hist_main()
1239 if (params->trace_output) { in timerlat_hist_main()
1246 if (params->events) { in timerlat_hist_main()
1247 retval = trace_events_enable(&record->trace, params->events); in timerlat_hist_main()
1252 if (params->buffer_size > 0) { in timerlat_hist_main()
1253 retval = trace_set_buffer_size(&record->trace, params->buffer_size); in timerlat_hist_main()
1259 if (!params->no_aa) { in timerlat_hist_main()
1264 retval = timerlat_aa_init(aa, params->dump_tasks); in timerlat_hist_main()
1277 if (params->user_workload) { in timerlat_hist_main()
1283 params_u.set = ¶ms->monitored_cpus; in timerlat_hist_main()
1284 if (params->set_sched) in timerlat_hist_main()
1285 params_u.sched_param = ¶ms->sched_param; in timerlat_hist_main()
1289 params_u.cgroup_name = params->cgroup_name; in timerlat_hist_main()
1296 if (params->warmup > 0) { in timerlat_hist_main()
1297 debug_msg("Warming up for %d seconds\n", params->warmup); in timerlat_hist_main()
1298 sleep(params->warmup); in timerlat_hist_main()
1310 if (params->trace_output) in timerlat_hist_main()
1312 if (!params->no_aa) in timerlat_hist_main()
1317 timerlat_hist_set_signals(params); in timerlat_hist_main()
1320 sleep(params->sleep_time); in timerlat_hist_main()
1337 if (params->user_workload) { in timerlat_hist_main()
1345 if (params->user_workload && !params_u.stopped_running) { in timerlat_hist_main()
1350 timerlat_print_stats(params, tool); in timerlat_hist_main()
1357 if (!params->no_aa) in timerlat_hist_main()
1358 timerlat_auto_analysis(params->stop_us, params->stop_total_us); in timerlat_hist_main()
1360 if (params->trace_output) { in timerlat_hist_main()
1361 printf(" Saving trace to %s\n", params->trace_output); in timerlat_hist_main()
1362 save_trace_to_file(record->trace.inst, params->trace_output); in timerlat_hist_main()
1370 trace_events_destroy(&record->trace, params->events); in timerlat_hist_main()
1371 params->events = NULL; in timerlat_hist_main()
1377 free(params); in timerlat_hist_main()