ring-buffer/Documentation: Add documentation on buffer_percent file
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Fri, 29 Dec 2023 17:24:02 +0000 (12:24 -0500)
committerJonathan Corbet <corbet@lwn.net>
Wed, 3 Jan 2024 21:41:52 +0000 (14:41 -0700)
When the buffer_percent file was added to the kernel, the documentation
should have been updated to document what that file does.

Acked-by: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Fixes: 03329f9939781 ("tracing: Add tracefs file buffer_percentage")
Signed-off-by: "Steven Rostedt (Google)" <rostedt@goodmis.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20231229122402.537eb252@gandalf.local.home
Documentation/trace/ftrace.rst

index 9ef362dae9df1d9b1d14843eaf3b307161064d7c..16122a8895ba30b3b31072e61586a470f1d06ee7 100644 (file)
@@ -180,6 +180,21 @@ of ftrace. Here is a list of some of the key files:
        Only active when the file contains a number greater than 0.
        (in microseconds)
 
+  buffer_percent:
+
+       This is the watermark for how much the ring buffer needs to be filled
+       before a waiter is woken up. That is, if an application calls a
+       blocking read syscall on one of the per_cpu trace_pipe_raw files, it
+       will block until the given amount of data specified by buffer_percent
+       is in the ring buffer before it wakes the reader up. This also
+       controls how the splice system calls are blocked on this file::
+
+         0   - means to wake up as soon as there is any data in the ring buffer.
+         50  - means to wake up when roughly half of the ring buffer sub-buffers
+               are full.
+         100 - means to block until the ring buffer is totally full and is
+               about to start overwriting the older data.
+
   buffer_size_kb:
 
        This sets or displays the number of kilobytes each CPU