* [patch 05/10] perf_event_open.2: aux_{head,tail,offset,size} support
@ 2015-04-16 18:15 Vince Weaver
2015-04-16 18:55 ` Peter Zijlstra
0 siblings, 1 reply; 2+ messages in thread
From: Vince Weaver @ 2015-04-16 18:15 UTC (permalink / raw)
To: Michael Kerrisk (man-pages)
Cc: linux-man, linux-kernel, Peter Zijlstra, Paul Mackerras,
Ingo Molnar, Arnaldo Carvalho de Melo, Stephane Eranian,
Alexander Shishkin, Borislav Petkov, Frederic Weisbecker,
H. Peter Anvin, Kaixu Xia, Linus Torvalds, Mike Galbraith,
Robert Richter, Thomas Gleixner, adrian.hunter, kan.liang,
markus.t.metzger, mathieu.poirier
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.
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [patch 05/10] perf_event_open.2: aux_{head,tail,offset,size} support
2015-04-16 18:15 [patch 05/10] perf_event_open.2: aux_{head,tail,offset,size} support Vince Weaver
@ 2015-04-16 18:55 ` Peter Zijlstra
0 siblings, 0 replies; 2+ messages in thread
From: Peter Zijlstra @ 2015-04-16 18:55 UTC (permalink / raw)
To: Vince Weaver
Cc: Michael Kerrisk (man-pages), linux-man, linux-kernel,
Paul Mackerras, Ingo Molnar, Arnaldo Carvalho de Melo,
Stephane Eranian, Alexander Shishkin, Borislav Petkov,
Frederic Weisbecker, H. Peter Anvin, Kaixu Xia, Linus Torvalds,
Mike Galbraith, Robert Richter, Thomas Gleixner, adrian.hunter,
kan.liang, markus.t.metzger, mathieu.poirier
On Thu, Apr 16, 2015 at 02:15:52PM -0400, Vince Weaver wrote:
> +.I aux_size
> +needs to be set to the desired buffer size.
> +The desired offset and size must be page aligned.
I think we also require the size to be a power of two.
> +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.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-04-16 18:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-16 18:15 [patch 05/10] perf_event_open.2: aux_{head,tail,offset,size} support Vince Weaver
2015-04-16 18:55 ` Peter Zijlstra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox