User Tools

Site Tools


realtime:documentation:howto:tools:rtla

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
realtime:documentation:howto:tools:rtla [2023/08/07 17:24]
costa.shul created
realtime:documentation:howto:tools:rtla [2025/03/18 09:07] (current)
costa.shul [More Information] libtracefs
Line 1: Line 1:
 ====== Real-time Linux Analysis tool ====== ====== Real-time Linux Analysis tool ======
  
-The **rtla** – Real-time Linux Analysis ​tool set analyzes real-time properties of the Linux operating system.+The **rtla** – Real-time Linux Analysis ​toolset ​analyzes real-time properties of the Linux kernel.
  
-The tools has several modes. The default **top** mode displays periodic summary from a tracer. The **hist** mode displays histogram at the end of operation. Automatic mode (--auto) stops when the threshold is reached.+The tools has several modes. The default **top** mode displays periodic summary from a tracer. The **hist** mode displays histogram at the end of operation. Automatic mode <​nowiki>​(--auto)</​nowiki> ​stops when the threshold is reached. 
 + 
 +===== Commands =====
  
 The tool offers several commands: The tool offers several commands:
  
-  * [[https://​docs.kernel.org/​tools/​rtla/​rtla-timerlat.html#|rtla timerlat]] measures IRQ and thread timer latency. Modes: [[https://​docs.kernel.org/​tools/​rtla/​rtla-timerlat-top.html|top]],​ [[https://​docs.kernel.org/​tools/​rtla/​rtla-timerlat-hist.html|hist]].+  * [[https://​docs.kernel.org/​tools/​rtla/​rtla-timerlat.html|rtla timerlat]] measures IRQ and kernel ​thread timer latency ​with [[https://​docs.kernel.org/​trace/​timerlat-tracer.html|timerlat tracer]]. Modes: [[https://​docs.kernel.org/​tools/​rtla/​rtla-timerlat-top.html|top]],​ [[https://​docs.kernel.org/​tools/​rtla/​rtla-timerlat-hist.html|hist]]. 
 + 
 +  * [[https://​docs.kernel.org/​tools/​rtla/​rtla-osnoise.html|rtla osnoise]] provides information about operating system noise measured with [[https://​docs.kernel.org/​trace/​osnoise-tracer.html|osnoise tracer]]. It dispatches kernel threads per CPU to measure various sources of interference during execution, such as preemption, softirq, and IRQs. Modes: [[https://​docs.kernel.org/​tools/​rtla/​rtla-osnoise-top.html|top]],​ [[https://​docs.kernel.org/​tools/​rtla/​rtla-osnoise-hist.html|hist]]. 
 + 
 +  * [[https://​docs.kernel.org/​tools/​rtla/​rtla-hwnoise.html|rtla hwnoise]] detects and quantifies hardware-related noise with [[https://​docs.kernel.org/​trace/​osnoise-tracer.html|osnoise tracer]]. By disabling interrupts with [[https://​elixir.bootlin.com/​linux/​v6.12.6/​A/​ident/​OSN_IRQ_DISABLE|OSNOISE_IRQ_DISABLE]] and scheduling of threads, only non-maskable interrupts and hardware-related noise are analyzed.  
 + 
 +Each of these commands has various options for configuration,​ such as setting tracer periods, runtimes, thresholds, scheduling parameters, trace events and triggers, and more. These commands offer different ways to analyze and understand the real-time properties and noise sources in the Linux operating system. 
 + 
 +===== Events =====
  
-  * [[https://​docs.kernel.org/​tools/​rtla/​rtla-osnoise.html|rtla osnoise]] provides information about operating system noise. It dispatches kernel threads per CPU to measure various sources of interference during execution, such as preemption, softirq, ​and IRQs. Modes: [[https://​docs.kernel.org/​tools/​rtla/​rtla-osnoise-top.html|top]],​ [[https://​docs.kernel.org/​tools/​rtla/​rtla-osnoise-hist.html|hist]].+Arguments ​to enable common events for automatic ​and trace options:
  
-  * [[https://​docs.kernel.org/​tools/​rtla/​rtla-hwnoise.html|rtla hwnoise]] detects and quantifies hardware-related noise. By disabling interrupts and scheduling of threads, only non-maskable interrupts and hardware-related noise are analyzed.+''<​nowiki>​ 
 +-e sched:sched_switch ​-e sched:​sched_wakeup ​-e sched:​sched_migrate_task ​-e irq -e irq_vectors -e timer -e workqueue  
 +</​nowiki>''​
  
-Each of these commands has various options for configurationsuch as setting tracer periods, runtimes, thresholds, scheduling parameters, trace triggers, and more. These commands offer different ways to analyze and understand the real-time properties and noise sources in the Linux operating system.+To see all enabled eventsrun:
  
 +''<​nowiki>​
 +grep 1 /​sys/​kernel/​debug/​tracing/​instances/​ /​sys/​kernel/​debug/​tracing/​events/​ -R --include enable ​
 +</​nowiki>''​
  
 +===== More Information =====
 +[[realtime:​documentation:​howto:​tools:​start|RT tools and utilities]]\\
 +[[https://​bristot.me/​linux-scheduling-latency-debug-and-analysis/​|Linux scheduling latency debug and analysis with RTLA]]\\
 +[[https://​www.youtube.com/​watch?​v=oLTRVcJ7_as|🎥 rtla timerlat: Debugging Real-time Linux Scheduling Latency, video]]\\
 +[[https://​elixir.bootlin.com/​linux/​latest/​source/​tools/​tracing/​rtla|user mode source]]\\
 +[[https://​elixir.bootlin.com/​linux/​latest/​source/​kernel/​trace/​trace_osnoise.c#​L1531|trace_osnoise.c:​ trace_sample_threshold() - kernel mode source]]\\
 +RTLA uses [[https://​man7.org/​linux/​man-pages/​man3/​libtracefs.3.html|libtracefs]]
realtime/documentation/howto/tools/rtla.1691429085.txt.gz · Last modified: 2023/08/07 17:24 by costa.shul