This manpage patch relates to the addition of the AUX mmap region as added in the following commit: commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> perf: Add AUX area to ring buffer for raw data streams Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kaixu Xia <kaixu.xia@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Robert Richter <rric@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxxxxx Cc: adrian.hunter@xxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: markus.t.metzger@xxxxxxxxx Cc: mathieu.poirier@xxxxxxxxxx Link: http://lkml.kernel.org/r/1421237903-181015-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Vince Weaver <vincent.weaver@xxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html