Linux Trace Kernel
 help / color / mirror / Atom feed
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


  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