Re: [PATCH 0/3] vmsplice: make vmsplice a trivial wrapper for preadv2/pwritev2
Steven Rostedt <[email protected]>
| Newsgroups | org.kernel.vger.linux-api,dev.linux.lists.patches,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.netdev,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 1 Jun 2026 18:33:25 +0100 Al Viro <[email protected]> wrote: > On Mon, Jun 01, 2026 at 10:17:23AM -0700, Linus Torvalds wrote: > > > 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