Lines Matching refs:params
172 struct timerlat_hist_params *params = tool->params;
178 if (params->output_divisor)
179 latency = latency / params->output_divisor;
236 struct timerlat_hist_params *params = tool->params;
242 if (params->no_header)
248 params->output_divisor == 1 ? "nanoseconds" : "microseconds",
249 params->output_divisor == 1 ? "ns" : "us");
253 if (!params->no_index)
257 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus))
263 if (!params->no_irq)
266 if (!params->no_thread)
269 if (params->user_hist)
283 timerlat_print_summary(struct timerlat_hist_params *params,
289 if (params->no_summary)
292 if (!params->no_index)
296 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus))
302 if (!params->no_irq)
306 if (!params->no_thread)
310 if (params->user_hist)
316 if (!params->no_index)
320 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus))
326 if (!params->no_irq)
330 if (!params->no_thread)
334 if (params->user_hist)
340 if (!params->no_index)
344 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus))
350 if (!params->no_irq) {
358 if (!params->no_thread) {
366 if (params->user_hist) {
376 if (!params->no_index)
380 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus))
386 if (!params->no_irq)
390 if (!params->no_thread)
394 if (params->user_hist)
407 timerlat_print_stats(struct timerlat_hist_params *params, struct osnoise_tool *tool)
419 if (!params->no_index)
424 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus))
430 if (!params->no_irq) {
436 if (!params->no_thread) {
442 if (params->user_hist) {
450 if (total == 0 && !params->with_zeros) {
460 if (!params->no_index)
464 if (params->cpus && !CPU_ISSET(cpu, ¶ms->monitored_cpus))
470 if (!params->no_irq)
474 if (!params->no_thread)
478 if (params->user_hist)
486 timerlat_print_summary(params, trace, data);
561 struct timerlat_hist_params *params;
567 params = calloc(1, sizeof(*params));
568 if (!params)
572 params->dma_latency = -1;
575 params->output_divisor = 1000;
576 params->bucket_size = 1;
577 params->entries = 256;
628 params->stop_total_us = auto_thresh;
629 params->stop_us = auto_thresh;
632 params->print_stack = auto_thresh;
635 params->trace_output = "timerlat_trace.txt";
639 retval = parse_cpu_set(optarg, ¶ms->monitored_cpus);
642 params->cpus = optarg;
645 params->cgroup = 1;
648 params->cgroup_name = NULL;
651 params->cgroup_name = ++optarg;
655 params->bucket_size = get_llong_from_str(optarg);
656 if ((params->bucket_size == 0) || (params->bucket_size >= 1000000))
663 params->duration = parse_seconds_duration(optarg);
664 if (!params->duration)
674 if (params->events)
675 tevent->next = params->events;
677 params->events = tevent;
680 params->entries = get_llong_from_str(optarg);
681 if ((params->entries < 10) || (params->entries > 9999999))
689 params->hk_cpus = 1;
690 retval = parse_cpu_set(optarg, ¶ms->hk_cpu_set);
697 params->stop_us = get_llong_from_str(optarg);
700 params->output_divisor = 1;
703 params->timerlat_period_us = get_llong_from_str(optarg);
704 if (params->timerlat_period_us > 1000000)
708 retval = parse_prio(optarg, ¶ms->sched_param);
711 params->set_sched = 1;
714 params->print_stack = get_llong_from_str(optarg);
717 params->stop_total_us = get_llong_from_str(optarg);
722 params->trace_output = &optarg[1];
724 params->trace_output = "timerlat_trace.txt";
727 params->user_hist = 1;
730 params->no_irq = 1;
733 params->no_thread = 1;
736 params->no_header = 1;
739 params->no_summary = 1;
742 params->no_index = 1;
745 params->with_zeros = 1;
748 if (params->events) {
749 retval = trace_event_add_trigger(params->events, optarg);
759 if (params->events) {
760 retval = trace_event_add_filter(params->events, optarg);
770 params->dma_latency = get_llong_from_str(optarg);
771 if (params->dma_latency < 0 || params->dma_latency > 10000) {
777 params->no_aa = 1;
780 params->dump_tasks = 1;
792 if (params->no_irq && params->no_thread)
795 if (params->no_index && !params->with_zeros)
801 if (!params->stop_us && !params->stop_total_us)
802 params->no_aa = 1;
804 return params;
811 timerlat_hist_apply_config(struct osnoise_tool *tool, struct timerlat_hist_params *params)
815 if (!params->sleep_time)
816 params->sleep_time = 1;
818 if (params->cpus) {
819 retval = osnoise_set_cpus(tool->context, params->cpus);
826 CPU_SET(i, ¶ms->monitored_cpus);
829 if (params->stop_us) {
830 retval = osnoise_set_stop_us(tool->context, params->stop_us);
837 if (params->stop_total_us) {
838 retval = osnoise_set_stop_total_us(tool->context, params->stop_total_us);
845 if (params->timerlat_period_us) {
846 retval = osnoise_set_timerlat_period_us(tool->context, params->timerlat_period_us);
853 if (params->print_stack) {
854 retval = osnoise_set_print_stack(tool->context, params->print_stack);
861 if (params->hk_cpus) {
862 retval = sched_setaffinity(getpid(), sizeof(params->hk_cpu_set),
863 ¶ms->hk_cpu_set);
868 } else if (params->cpus) {
876 auto_house_keeping(¶ms->monitored_cpus);
879 if (params->user_hist) {
897 *timerlat_init_hist(struct timerlat_hist_params *params)
908 tool->data = timerlat_alloc_histogram(nr_cpus, params->entries, params->bucket_size);
912 tool->params = params;
934 timerlat_hist_set_signals(struct timerlat_hist_params *params)
937 if (params->duration) {
939 alarm(params->duration);
945 struct timerlat_hist_params *params;
956 params = timerlat_hist_parse_args(argc, argv);
957 if (!params)
960 tool = timerlat_init_hist(params);
966 retval = timerlat_hist_apply_config(tool, params);
980 if (params->set_sched) {
981 retval = set_comm_sched_attr("timerlat/", ¶ms->sched_param);
988 if (params->cgroup && !params->user_hist) {
989 retval = set_comm_cgroup("timerlat/", params->cgroup_name);
996 if (params->dma_latency >= 0) {
997 dma_latency_fd = set_cpu_dma_latency(params->dma_latency);
1004 if (params->trace_output) {
1011 if (params->events) {
1012 retval = trace_events_enable(&record->trace, params->events);
1018 if (!params->no_aa) {
1023 retval = timerlat_aa_init(aa, params->dump_tasks);
1043 if (params->trace_output)
1045 if (!params->no_aa)
1050 timerlat_hist_set_signals(params);
1052 if (params->user_hist) {
1058 params_u.set = ¶ms->monitored_cpus;
1059 if (params->set_sched)
1060 params_u.sched_param = ¶ms->sched_param;
1064 params_u.cgroup_name = params->cgroup_name;
1072 sleep(params->sleep_time);
1089 if (params->user_hist) {
1096 if (params->user_hist && !params_u.stopped_running) {
1101 timerlat_print_stats(params, tool);
1108 if (!params->no_aa)
1109 timerlat_auto_analysis(params->stop_us, params->stop_total_us);
1111 if (params->trace_output) {
1112 printf(" Saving trace to %s\n", params->trace_output);
1113 save_trace_to_file(record->trace.inst, params->trace_output);
1121 trace_events_destroy(&record->trace, params->events);
1122 params->events = NULL;
1128 free(params);