413971526a
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
71 lines
1.1 KiB
ReStructuredText
71 lines
1.1 KiB
ReStructuredText
=====================================
|
|
The Linux kernel user-space API guide
|
|
=====================================
|
|
|
|
.. _man-pages: https://www.kernel.org/doc/man-pages/
|
|
|
|
While much of the kernel's user-space API is documented elsewhere
|
|
(particularly in the man-pages_ project), some user-space information can
|
|
also be found in the kernel tree itself. This manual is intended to be the
|
|
place where this information is gathered.
|
|
|
|
|
|
System calls
|
|
============
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
unshare
|
|
futex2
|
|
ebpf/index
|
|
ioctl/index
|
|
|
|
Security-related interfaces
|
|
===========================
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
no_new_privs
|
|
seccomp_filter
|
|
landlock
|
|
lsm
|
|
spec_ctrl
|
|
tee
|
|
|
|
Devices and I/O
|
|
===============
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
accelerators/ocxl
|
|
dma-buf-alloc-exchange
|
|
iommu
|
|
iommufd
|
|
media/index
|
|
dcdbas
|
|
vduse
|
|
isapnp
|
|
|
|
Everything else
|
|
===============
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
ELF
|
|
netlink/index
|
|
sysfs-platform_profile
|
|
vduse
|
|
futex2
|
|
perf_ring_buffer
|
|
|
|
.. only:: subproject and html
|
|
|
|
Indices
|
|
=======
|
|
|
|
* :ref:`genindex`
|