__u64 data_tail; /* user-space written tail */
__u64 data_offset; /* where the buffer starts */
__u64 data_size; /* data buffer size */
+ __u64 aux_head;
+ __u64 aux_tail;
+ __u64 aux_offset;
+ __u64 aux_size;
}
.fi
.\" commit e8c6deac69629c0cb97c3d3272f8631ef17f8f0f
Contains the size of the perf sample region within
the mmap buffer.
+.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, and the size
+must 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.
+
+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.