public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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