// SPDX-License-Identifier: GPL-2.0 #include "osnoise.h" struct timerlat_params { /* Common params */ char *cpus; cpu_set_t monitored_cpus; char *trace_output; char *cgroup_name; unsigned long long runtime; long long stop_us; long long stop_total_us; long long timerlat_period_us; long long print_stack; int sleep_time; int output_divisor; int duration; int set_sched; int dma_latency; int no_aa; int dump_tasks; int cgroup; int hk_cpus; int user_workload; int kernel_workload; int user_data; int warmup; int buffer_size; int deepest_idle_state; cpu_set_t hk_cpu_set; struct sched_attr sched_param; struct trace_events *events; union { struct { /* top only */ int quiet; int aa_only; int pretty_output; }; struct { /* hist only */ char no_irq; char no_thread; char no_header; char no_summary; char no_index; char with_zeros; int bucket_size; int entries; }; }; }; int timerlat_apply_config(struct osnoise_tool *tool, struct timerlat_params *params); int timerlat_hist_main(int argc, char *argv[]); int timerlat_top_main(int argc, char *argv[]); int timerlat_main(int argc, char *argv[]);