lkml.org 
[lkml]   [2015]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
Subject[patch 05/10] perf_event_open.2: aux_{head,tail,offset,size} support

This manpage patch relates to the addition of the AUX mmap region
as added in the following commit:

commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff
Author: Peter Zijlstra <peterz@infradead.org>

perf: Add AUX area to ring buffer for raw data streams

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kaixu Xia <kaixu.xia@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Robert Richter <rric@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: acme@infradead.org
Cc: adrian.hunter@intel.com
Cc: kan.liang@intel.com
Cc: markus.t.metzger@intel.com
Cc: mathieu.poirier@linaro.org
Link: http://lkml.kernel.org/r/1421237903-181015-3-git-send-email-alexander.shishkin@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>


Signed-off-by: Vince Weaver <vincent.weaver@maine.edu>

diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2
index 01ee579..28348f9 100644
--- a/man2/perf_event_open.2
+++ b/man2/perf_event_open.2
@@ -1348,6 +1348,10 @@ struct perf_event_mmap_page {
__u64 __reserved[120]; /* Pad to 1k */
__u64 data_head; /* head in the data section */
__u64 data_tail; /* user-space written tail */
+ __u64 aux_head;
+ __u64 aux_tail;
+ __u64 aux_offset;
+ __u64 aux_size;
}
.fi
.in
@@ -1564,6 +1568,33 @@ the
.I data_tail
value should be written by user space to reflect the last read data.
In this case, the kernel will not overwrite unread data.
+.TP
+.IR aux_head ", " aux_tail ", " aux_offset ", " aux_size " (since Linux 4.1)
+.\" commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff
+The AUX region allows mmaping a separate sample buffer for high
+bandwidth data streams (separate from the main perf sample buffer).
+An example of a high bandwidth stream is instruction tracing support,
+as is found in newer Intel processors.
+
+To set up an AUX area, first
+.I aux_offset
+needs to be set with an offset greater than
+.IR data_offset + data_size
+and
+.I aux_size
+needs to be set to the desired buffer size.
+The desired offset and size must be page aligned.
+These values are then passed to mmap in order to map the AUX buffer.
+Pages in the AUX buffer are included as part of the user mlock
+rlimit as well as the
+.I perf_event_mlock_kb
+allowance.
+
+The
+.IR aux_head " and " aux_tail
+ring buffer pointers have the same behavior and ordering
+rules as the previous described
+.IR data_head " and " data_tail .
.PP
The following 2^n ring-buffer pages have the layout described below.


\
 
 \ /
  Last update: 2015-04-16 20:21    [W:0.037 / U:3.812 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site