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/14 20:02]
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 kernel.+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 <​nowiki>​(--auto)</​nowiki>​ 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 =====
 +
 +Arguments to enable common events for automatic and trace options:
 +
 +''<​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 ===== ===== More Information =====
-  * [[https://​bristot.me/​linux-scheduling-latency-debug-and-analysis/​|Linux scheduling latency debug and analysis with RTLA]] +[[realtime:​documentation:​howto:​tools:​start|RT tools and utilities]]\\ 
-  ​* ​[[https://​www.youtube.com/​watch?​v=oLTRVcJ7_as|🎥 rtla timerlat: Debugging Real-time Linux Scheduling Latency, video]] +[[https://​bristot.me/​linux-scheduling-latency-debug-and-analysis/​|Linux scheduling latency debug and analysis with RTLA]]\\ 
-  ​* ​[[https://​elixir.bootlin.com/​linux/​latest/​source/​tools/​tracing/​rtla|user mode source]] +[[https://​www.youtube.com/​watch?​v=oLTRVcJ7_as|🎥 rtla timerlat: Debugging Real-time Linux Scheduling Latency, video]]\\ 
-  ​* ​[[https://​elixir.bootlin.com/​linux/​latest/​source/​kernel/​trace/​trace_osnoise.c|trace_osnoise.c - kernel mode source]]+[[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.1692043326.txt.gz · Last modified: 2023/08/14 20:02 by costa.shul