]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Documentation/rtla: Include BPF sample collection
authorTomas Glozar <tglozar@redhat.com>
Tue, 11 Mar 2025 11:49:36 +0000 (12:49 +0100)
committerJonathan Corbet <corbet@lwn.net>
Mon, 14 Apr 2025 16:42:55 +0000 (10:42 -0600)
Add dependencies needed to build rtla with BPF sample collection support
to README, and document both ways of sample collection in the manpages.

Signed-off-by: Tomas Glozar <tglozar@redhat.com>
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Reviewed-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20250311114936.148012-5-tglozar@redhat.com
Documentation/tools/rtla/common_timerlat_description.rst
tools/tracing/rtla/README.txt

index 8cd3e717baa83d8fa11fab73b2940ba3fcd65bca..49fcae3ffdec1816b64cd3bcee9a96204597f043 100644 (file)
@@ -8,3 +8,11 @@ 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.
index dd5621038c554732c568a19d723e9fe7fe746479..43e98311d10ffcfa17b606eeda6f8001ef79c1cc 100644 (file)
@@ -13,6 +13,13 @@ RTLA depends on the following libraries and tools:
  - libtraceevent
  - libcpupower (optional, for --deepest-idle-state)
 
+For BPF sample collection support, the following extra dependencies are
+required:
+
+ - libbpf 1.0.0 or later
+ - bpftool with skeleton support
+ - clang with BPF CO-RE support
+
 It also depends on python3-docutils to compile man pages.
 
 For development, we suggest the following steps for compiling rtla: