Lines Matching refs:params

160 	struct timerlat_top_params *params;
166 params = top->params;
168 if (!params->aa_only) {
183 struct timerlat_top_params *params = top->params;
191 if (params->user_top)
197 params->output_divisor == 1 ? "ns" : "us",
198 params->output_divisor == 1 ? "ns" : "us");
200 if (params->user_top) {
202 params->output_divisor == 1 ? "ns" : "us");
208 if (params->user_top)
220 struct timerlat_top_params *params = top->params;
223 int divisor = params->output_divisor;
246 trace_seq_printf(s, "%9llu ", cpu_data->cur_irq / params->output_divisor);
247 trace_seq_printf(s, "%9llu ", cpu_data->min_irq / params->output_divisor);
265 if (!params->user_top) {
299 timerlat_print_stats(struct timerlat_top_params *params, struct osnoise_tool *top)
305 if (params->aa_only)
311 if (!params->quiet)
317 if (params->cpus && !CPU_ISSET(i, &params->monitored_cpus))
391 struct timerlat_top_params *params;
397 params = calloc(1, sizeof(*params));
398 if (!params)
402 params->dma_latency = -1;
405 params->output_divisor = 1000;
450 params->stop_total_us = auto_thresh;
451 params->stop_us = auto_thresh;
454 params->print_stack = auto_thresh;
457 params->trace_output = "timerlat_trace.txt";
464 params->stop_total_us = auto_thresh;
465 params->stop_us = auto_thresh;
468 params->print_stack = auto_thresh;
471 params->aa_only = 1;
474 retval = parse_cpu_set(optarg, &params->monitored_cpus);
477 params->cpus = optarg;
480 params->cgroup = 1;
483 params->cgroup_name = NULL;
486 params->cgroup_name = ++optarg;
493 params->duration = parse_seconds_duration(optarg);
494 if (!params->duration)
504 if (params->events)
505 tevent->next = params->events;
506 params->events = tevent;
513 params->hk_cpus = 1;
514 retval = parse_cpu_set(optarg, &params->hk_cpu_set);
521 params->stop_us = get_llong_from_str(optarg);
524 params->output_divisor = 1;
527 params->timerlat_period_us = get_llong_from_str(optarg);
528 if (params->timerlat_period_us > 1000000)
532 retval = parse_prio(optarg, &params->sched_param);
535 params->set_sched = 1;
538 params->quiet = 1;
541 params->print_stack = get_llong_from_str(optarg);
544 params->stop_total_us = get_llong_from_str(optarg);
549 params->trace_output = &optarg[1];
551 params->trace_output = "timerlat_trace.txt";
555 params->user_top = true;
558 if (params->events) {
559 retval = trace_event_add_trigger(params->events, optarg);
569 if (params->events) {
570 retval = trace_event_add_filter(params->events, optarg);
580 params->dma_latency = get_llong_from_str(optarg);
581 if (params->dma_latency < 0 || params->dma_latency > 10000) {
587 params->no_aa = 1;
590 params->dump_tasks = 1;
605 if (!params->stop_us && !params->stop_total_us)
606 params->no_aa = 1;
608 if (params->no_aa && params->aa_only)
611 return params;
618 timerlat_top_apply_config(struct osnoise_tool *top, struct timerlat_top_params *params)
623 if (!params->sleep_time)
624 params->sleep_time = 1;
626 if (params->cpus) {
627 retval = osnoise_set_cpus(top->context, params->cpus);
634 CPU_SET(i, &params->monitored_cpus);
637 if (params->stop_us) {
638 retval = osnoise_set_stop_us(top->context, params->stop_us);
645 if (params->stop_total_us) {
646 retval = osnoise_set_stop_total_us(top->context, params->stop_total_us);
654 if (params->timerlat_period_us) {
655 retval = osnoise_set_timerlat_period_us(top->context, params->timerlat_period_us);
663 if (params->print_stack) {
664 retval = osnoise_set_print_stack(top->context, params->print_stack);
671 if (params->hk_cpus) {
672 retval = sched_setaffinity(getpid(), sizeof(params->hk_cpu_set),
673 &params->hk_cpu_set);
678 } else if (params->cpus) {
686 auto_house_keeping(&params->monitored_cpus);
689 if (params->user_top) {
707 *timerlat_init_top(struct timerlat_top_params *params)
722 top->params = params;
744 timerlat_top_set_signals(struct timerlat_top_params *params)
747 if (params->duration) {
749 alarm(params->duration);
755 struct timerlat_top_params *params;
767 params = timerlat_top_parse_args(argc, argv);
768 if (!params)
771 top = timerlat_init_top(params);
777 retval = timerlat_top_apply_config(top, params);
791 if (params->set_sched) {
792 retval = set_comm_sched_attr("timerlat/", &params->sched_param);
799 if (params->cgroup && !params->user_top) {
800 retval = set_comm_cgroup("timerlat/", params->cgroup_name);
807 if (params->dma_latency >= 0) {
808 dma_latency_fd = set_cpu_dma_latency(params->dma_latency);
815 if (params->trace_output) {
822 if (params->events) {
823 retval = trace_events_enable(&record->trace, params->events);
829 if (!params->no_aa) {
830 if (params->aa_only) {
840 retval = timerlat_aa_init(aa, params->dump_tasks);
863 if (params->trace_output)
865 if (!params->no_aa && aa != top)
870 timerlat_top_set_signals(params);
872 if (params->user_top) {
878 params_u.set = &params->monitored_cpus;
879 if (params->set_sched)
880 params_u.sched_param = &params->sched_param;
884 params_u.cgroup_name = params->cgroup_name;
892 sleep(params->sleep_time);
894 if (params->aa_only && !trace_is_off(&top->trace, &record->trace))
908 if (!params->quiet)
909 timerlat_print_stats(params, top);
915 if (params->user_top) {
923 if (params->user_top && !params_u.stopped_running) {
928 timerlat_print_stats(params, top);
935 if (!params->no_aa)
936 timerlat_auto_analysis(params->stop_us, params->stop_total_us);
938 if (params->trace_output) {
939 printf(" Saving trace to %s\n", params->trace_output);
940 save_trace_to_file(record->trace.inst, params->trace_output);
942 } else if (params->aa_only) {
958 trace_events_destroy(&record->trace, params->events);
959 params->events = NULL;
966 free(params);