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

Both sides previous revision Previous revision
Next revision
Previous revision
realtime:documentation:howto:tools:rtla [2023/08/07 18:13]
costa.shul
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. 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-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. By disabling interrupts and scheduling of threads, only non-maskable interrupts and hardware-related noise are analyzed.+  * [[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. 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 =====
  
-===== More Information ===== +Arguments to enable common events for automatic ​and trace options:
-  * [[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 timerlatDebugging Real-time Linux Scheduling Latency, video]]+
  
 +''<​nowiki>​
 +-e sched:​sched_switch -e sched:​sched_wakeup -e sched:​sched_migrate_task -e irq -e irq_vectors -e timer -e workqueue ​
 +</​nowiki>''​
 +
 +To see all enabled events, run:
 +
 +''<​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.1691432028.txt.gz · Last modified: 2023/08/07 18:13 by costa.shul