| The **rtla timerlat** tool is an interface for the *timerlat* tracer. The | |
| *timerlat* tracer dispatches a kernel thread per-cpu. These threads | |
| set a periodic timer to wake themselves up and go back to sleep. After | |
| the wakeup, they collect and generate useful information for the | |
| debugging of operating system timer latency. | |
| The *timerlat* tracer outputs information in two ways. It periodically | |
| prints the timer latency at the timer *IRQ* handler and the *Thread* | |
| handler. It also enables the trace of the most relevant information via | |
| **osnoise:** tracepoints. | |
| The **rtla timerlat** tool sets the options of the *timerlat* tracer | |
| and collects and displays a summary of the results. By default, | |
| the collection is done synchronously in kernel space using a dedicated | |
| BPF program attached to the *timerlat* tracer. If either BPF or | |
| the **osnoise:timerlat_sample** tracepoint it attaches to is | |
| unavailable, the **rtla timerlat** tool falls back to using tracefs to | |
| process the data asynchronously in user space. |