From: Vincent Donnefort <vdonnefort@google.com>
To: rostedt@goodmis.org, mhiramat@kernel.org,
mathieu.desnoyers@efficios.com,
linux-trace-kernel@vger.kernel.org
Cc: kernel-team@android.com, linux-kernel@vger.kernel.org,
Vincent Donnefort <vdonnefort@google.com>
Subject: [PATCH 11/13] Documentation: tracing/remotes: Add detailed tracefs layout
Date: Tue, 2 Jun 2026 18:11:43 +0100 [thread overview]
Message-ID: <20260602171146.2238998-12-vdonnefort@google.com> (raw)
In-Reply-To: <20260602171146.2238998-1-vdonnefort@google.com>
Add a description for each tracefs file available in a trace remote
instance.
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
diff --git a/Documentation/trace/remotes.rst b/Documentation/trace/remotes.rst
index 1f9d764f69aa..bf63b929271e 100644
--- a/Documentation/trace/remotes.rst
+++ b/Documentation/trace/remotes.rst
@@ -19,8 +19,8 @@ for which the host kernel can see and expose to user space.
Register a remote
=================
-A remote must provide a set of callbacks `struct trace_remote_callbacks` whom
-description can be found below. Those callbacks allows Tracefs to enable and
+A remote must provide a set of callbacks `struct trace_remote_callbacks` whose
+description can be found below. Those callbacks allow Tracefs to enable and
disable tracing and events, to load and unload a tracing buffer (a set of
ring-buffers) and to swap a reader page with the head page, which enables
consuming reading.
@@ -28,8 +28,63 @@ consuming reading.
.. kernel-doc:: include/linux/trace_remote.h
Once registered, an instance will appear for this remote in the Tracefs
-directory **remotes/**. Buffers can then be read using the usual Tracefs files
-**trace_pipe** and **trace**.
+directory **remotes/**. The files within this directory allow configuring
+and reading the remote buffer (see `The File System` below).
+
+The File System
+===============
+A remote tracing instance is represented by a directory in Tracefs under
+**remotes/**. The layout and files within it are very similar to standard ftrace
+instances. Inside the remote directory, the following files and directories are
+available:
+
+ tracing_on
+ This file allows enabling or disabling the remote tracing.
+
+ buffer_size_kb
+ This file displays and allows changing the size of the per-CPU ring
+ buffers used by the remote. It also shows if the buffer is **loaded** or
+ **unloaded**. To change the size, the remote buffers must be unloaded
+ first. Remote buffers are automatically unloaded when **tracing_on** is
+ off, no one is reading the buffer (either by accessing **trace_pipe** or
+ when **printk** is on) and no events remain in the buffer.
+
+ trace
+ Display the human-readable content of the remote buffers. Reading this
+ file is non-consuming. Writing to this file clears the ring buffers.
+
+ trace_pipe
+ Similar to **trace** but reading it consumes the events from the ring
+ buffers (consuming read). It blocks if there are no new events.
+
+ printk
+ When enabled, all events from the remote are redirected to the kernel
+ dmesg. This is similar to the **tp_printk** option for in-kernel events.
+ It counts as a reader of the remote buffers and prevents unloading.
+
+ dump_on_oops
+ When enabled, the remote tracing buffer is dumped to the console when a
+ kernel panic occurs.
+
+ per_cpu/
+ This directory contains subdirectories for each possible CPU (e.g.,
+ **cpu0/**, **cpu1/** ...)
+
+ per_cpu/cpuX/trace
+ This is similar to the **trace** file, but it will only display the data
+ specific for the CPU. If written to, it only clears the specific CPU
+ buffer.
+
+ per_cpu/cpuX/trace_pipe
+ This is similar to the **trace_pipe** file, and is a consuming read, but
+ it will only display (and consume) the data specific to the CPU.
+
+ events/
+ This directory contains remote events that can be enabled or disabled.
+
+ events/enable
+ Allows enabling or disabling all the remote events.
+
Declare a remote event
======================
--
2.54.0.1032.g2f8565e1d1-goog
next prev parent reply other threads:[~2026-06-02 17:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-02 17:11 [PATCH 00/13] tracing/remotes: Add printk, dump_on_oops and boot parameters Vincent Donnefort
2026-06-02 17:11 ` [PATCH 01/13] tracing/remotes: Release tracefs,eventfs on registration failure Vincent Donnefort
2026-06-02 17:11 ` [PATCH 02/13] tracing/remotes: Use kstrtobool for boolean tracefs files Vincent Donnefort
2026-06-02 17:11 ` [PATCH 03/13] tracing/remotes: Use a single per-remote polling work Vincent Donnefort
2026-06-02 17:11 ` [PATCH 04/13] tracing/simple_ring_buffer: Add support for compressed length Vincent Donnefort
2026-06-02 17:11 ` [PATCH 05/13] tracing/remotes: Add printk tracefs file Vincent Donnefort
2026-06-02 17:11 ` [PATCH 06/13] tracing/remotes: selftests: Add a test for the " Vincent Donnefort
2026-06-02 17:11 ` [PATCH 07/13] tracing/remotes: selftests: Prefix hypervisor folder Vincent Donnefort
2026-06-02 17:11 ` [PATCH 08/13] ring-buffer: Add ring_buffer_read_remote_meta_page() Vincent Donnefort
2026-06-02 17:11 ` [PATCH 09/13] tracing/remotes: Add dump_on_oops tracefs file Vincent Donnefort
2026-06-02 17:11 ` [PATCH 10/13] tracing/remotes: selftests: Add a test for the " Vincent Donnefort
2026-06-02 17:11 ` Vincent Donnefort [this message]
2026-06-02 17:11 ` [PATCH 12/13] tracing/remotes: Add trace_remote cmdline options Vincent Donnefort
2026-06-02 17:11 ` [PATCH 13/13] Documentation/kernel-parameters: Add trace_remote Vincent Donnefort
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260602171146.2238998-12-vdonnefort@google.com \
--to=vdonnefort@google.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox