Thread (98 messages) 98 messages, 24 authors, 3d ago

Re: [PATCH 0/3] vmsplice: make vmsplice a trivial wrapper for preadv2/pwritev2

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2026-06-01 20:04:16
Also in: linux-fsdevel, linux-mm, linux-patches, lkml, netdev

On Mon, 1 Jun 2026 18:33:25 +0100
Al Viro [off-list ref] wrote:
On Mon, Jun 01, 2026 at 10:17:23AM -0700, Linus Torvalds wrote:
quoted
TLDR: maybe we could ghet rid of "f_op->splice_read". *That* would be
a big simplification.  
FUSE might be interesting - fuse_dev_splice_read() and its ilk.
Communications between the kernel and fuse server at least used to
seriously want that, so that would be one place to look for unhappy
userland...

splice-related logics in fs/fuse/dev.c is interesting; another place
like this is kernel/trace/, but I'm less familiar with that one.

rostedt Cc'd (miklos already had been)
Thanks for the Cc. The tracing ring buffer was specifically made to be used
by splice and the libtracefs has a lot of code to use it as well. As
reading the ring buffer literally swaps out the write portion with a blank
read portion, that portion (sub-buffer) is used to be directly fed into
splice, providing a zero-copy of the trace data from the write of the event
to going into a file.

trace-cmd defaults to using splice to copy the tracing ring buffer directly
into files to avoid as much copying during live recordings as possible.

Whatever changes we make, I would like to make sure there's no regressions
in performance of trace-cmd record.

Thanks,

-- Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help