Hi Masami, thanks for looking at this.
On Tue, 9 Jan 2024 22:04:45 +0900
Masami Hiramatsu (Google) [off-list ref] wrote:
quoted
The tracing ring-buffers can be stored on disk or sent to network
without any copy via splice. However the later doesn't allow real time
processing of the traces. A solution is to give userspace direct access
to the ring-buffer pages via a mapping. An application can now become a
consumer of the ring-buffer, in a similar fashion to what trace_pipe
offers.
I think this is very nice feature. But this series seems just a feature,
no document and no example code. Can you add 2 patches to add those?
I know libtracefs already provide a support code, but I think it is
better to have a test code under tools/testing/selftests/ring_buffer.
Yeah, we should have sample code and a test.
I also wonder what happen if other operation (e.g. taking snapshot) happens
while mmaping the ring buffer.
Hmm, good point. We should disable snapshots when mapped, and also prevent
mapping with latency tracer if we are not already doing that.
-- Steve