summaryrefslogtreecommitdiff
path: root/Documentation/userspace-api/perf_ring_buffer.rst
AgeCommit message (Collapse)AuthorFilesLines
2024-01-30Documentation: userspace-api: Document perf ring buffer mechanismLeo Yan1-0/+830
In the Linux perf tool, the ring buffer serves not only as a medium for transferring PMU event data but also as a vital mechanism for hardware tracing using technologies like Intel PT and Arm CoreSight, etc. Consequently, the ring buffer mechanism plays a crucial role by ensuring high throughput for data transfer between the kernel and user space while avoiding excessive overhead caused by the ring buffer itself. This commit documents the ring buffer mechanism in detail. It explains the implementation of both the regular ring buffer and the AUX ring buffer. Additionally, it covers how these ring buffers support various tracing modes and explains the synchronization with memory barriers. Signed-off-by: Leo Yan <leo.yan@linaro.org> Reviewed-by: James Clark <james.clark@arm.com> Reviewed-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20240102085001.228815-1-leo.yan@linaro.org