Re: [PATCH v2] perf doc: Document ring buffer mechanism

From: Leo Yan
Date: Thu Aug 03 2023 - 12:57:48 EST


Hi Jon,

On Thu, Aug 03, 2023 at 08:34:50AM -0600, Jonathan Corbet wrote:
> Leo Yan <leo.yan@xxxxxxxxxx> writes:
>
> > 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 provides
> > an in-depth explanation of the implementation of both the generic 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@xxxxxxxxxx>
> > ---
>
> So this seems like good material from a very brief scan. I do have to
> ask, though: why is it not in RST, and why not put it into the
> user-space API book?

This documentation is Perf related topic, so my instinct is to place
it into the folder tools/perf/Documentation/.

Strictly to say, the doc doesn't give formal introduction for the
user-space APIs. Given perf ring buffer is a mechanism for exchanging
data between the kernel and user space, I am open for placing it in the
folder Documentation/userspace-api/.

I would like get opinions from the perf maintainers if possible, if we
have agreenment I am glad to convert it to RST format.

Thanks,
Leo