Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / Documentation / tools / rtla / common_timerlat_options.rst
blob10dc802f8d655195f7e844bd763ddf96dd32d686
1 **-a**, **--auto** *us*
3         Set the automatic trace mode. This mode sets some commonly used options
4         while debugging the system. It is equivalent to use **-T** *us* **-s** *us*
5         **-t**. By default, *timerlat* tracer uses FIFO:95 for *timerlat* threads,
6         thus equilavent to **-P** *f:95*.
8 **-p**, **--period** *us*
10         Set the *timerlat* tracer period in microseconds.
12 **-i**, **--irq** *us*
14         Stop trace if the *IRQ* latency is higher than the argument in us.
16 **-T**, **--thread** *us*
18         Stop trace if the *Thread* latency is higher than the argument in us.
20 **-s**, **--stack** *us*
22         Save the stack trace at the *IRQ* if a *Thread* latency is higher than the
23         argument in us.
25 **-t**, **--trace** \[*file*]
27         Save the stopped trace to [*file|timerlat_trace.txt*].
29 **--dma-latency** *us*
30         Set the /dev/cpu_dma_latency to *us*, aiming to bound exit from idle latencies.
31         *cyclictest* sets this value to *0* by default, use **--dma-latency** *0* to have
32         similar results.
34 **--deepest-idle-state** *n*
35         Disable idle states higher than *n* for cpus that are running timerlat threads to
36         reduce exit from idle latencies. If *n* is -1, all idle states are disabled.
37         On exit from timerlat, the idle state setting is restored to its original state
38         before running timerlat.
40         Requires rtla to be built with libcpupower.
42 **-k**, **--kernel-threads**
44         Use timerlat kernel-space threads, in contrast of **-u**.
46 **-u**, **--user-threads**
48         Set timerlat to run without a workload, and then dispatches user-space workloads
49         to wait on the timerlat_fd. Once the workload is awakes, it goes to sleep again
50         adding so the measurement for the kernel-to-user and user-to-kernel to the tracer
51         output. **--user-threads** will be used unless the user specify **-k**.
53 **-U**, **--user-load**
55         Set timerlat to run without workload, waiting for the user to dispatch a per-cpu
56         task that waits for a new period on the tracing/osnoise/per_cpu/cpu$ID/timerlat_fd.
57         See linux/tools/rtla/sample/timerlat_load.py for an example of user-load code.