xref: /linux/Documentation/tools/rtla/common_timerlat_description.txt (revision f96163865a1346b199cc38e827269296f0f24ab0)
1*96b546c2SGopi Krishna MenonThe **rtla timerlat** tool is an interface for the *timerlat* tracer. The
2*96b546c2SGopi Krishna Menon*timerlat* tracer dispatches a kernel thread per-cpu. These threads
3*96b546c2SGopi Krishna Menonset a periodic timer to wake themselves up and go back to sleep. After
4*96b546c2SGopi Krishna Menonthe wakeup, they collect and generate useful information for the
5*96b546c2SGopi Krishna Menondebugging of operating system timer latency.
6*96b546c2SGopi Krishna Menon
7*96b546c2SGopi Krishna MenonThe *timerlat* tracer outputs information in two ways. It periodically
8*96b546c2SGopi Krishna Menonprints the timer latency at the timer *IRQ* handler and the *Thread*
9*96b546c2SGopi Krishna Menonhandler. It also enables the trace of the most relevant information via
10*96b546c2SGopi Krishna Menon**osnoise:** tracepoints.
11*96b546c2SGopi Krishna Menon
12*96b546c2SGopi Krishna MenonThe **rtla timerlat** tool sets the options of the *timerlat* tracer
13*96b546c2SGopi Krishna Menonand collects and displays a summary of the results. By default,
14*96b546c2SGopi Krishna Menonthe collection is done synchronously in kernel space using a dedicated
15*96b546c2SGopi Krishna MenonBPF program attached to the *timerlat* tracer. If either BPF or
16*96b546c2SGopi Krishna Menonthe **osnoise:timerlat_sample** tracepoint it attaches to is
17*96b546c2SGopi Krishna Menonunavailable, the **rtla timerlat** tool falls back to using tracefs to
18*96b546c2SGopi Krishna Menonprocess the data asynchronously in user space.
19