[lkml]   [2017]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH 3/7] perf tool: describe pipe mode in
Add a minimal description of pipe's data format.

Signed-off-by: David Carrillo-Cisneros <>
tools/perf/Documentation/ | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/tools/perf/Documentation/ b/tools/perf/Documentation/
index b664b18d3991..fa2a9132f0a9 100644
--- a/tools/perf/Documentation/
+++ b/tools/perf/Documentation/
@@ -11,8 +11,8 @@ All fields are in native-endian of the machine that generated the

When perf is writing to a pipe it uses a special version of the file
format that does not rely on seeking to adjust data offsets. This
-format is not described here. The pipe version can be converted to
-normal with perf inject.
+format is described in "Pipe-mode data" section. The pipe data version can be
+augmented with additional events using perf inject.

The file starts with a perf_header:

@@ -411,6 +411,21 @@ An array bound by the perf_file_section size.

ids points to a array of uint64_t defining the ids for event attr attr.

+Pipe-mode data
+Pipe-mode avoid seeks in the file by removing the perf_file_section and flags
+from the struct perf_header. The trimmed header is:
+struct perf_pipe_file_header {
+ u64 magic;
+ u64 size;
+The information about attrs, data, and event_types is instead in the
+PERF_RECORD_HEADER_EVENT_TYPE that are generated by perf record in pipe-mode.

 \ /
  Last update: 2017-04-10 22:16    [W:0.123 / U:4.340 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site