3 ms·
Back in 2019 I wrote about "splicing" in the context of networking: https://blog.cloudflare.com/sockmap-tcp-splicing-of-the-future/ https://blog.cloudflare.com
by majke 4y ago
Back in 2019 I wrote about "splicing" in the context of networking:
https://blog.cloudflare.com/sockmap-tcp-splicing-of-the-future/ https://blog.cloudflare.com/sockmap-tcp-splicing-of-the-futu...
Many of the mentioned bugs are fixed by now, though arguably I'm focusing mostly on network-network splice, not disk-network transfers.
There are large benefits to be had, if one combines sendfile() with ktls:
https://news.ycombinator.com/item?id=30903146 https://news.ycombinator.com/item?id=30903146
https://people.freebsd.org/~gallatin/talks/euro2021.pdf https://people.freebsd.org/~gallatin/talks/euro2021.pdf
In traditional splice() the lack of completion mechanism was always a usability problem. Similarly with other Linux zero-copy API's. This is not a problem usually in kernel-kernel data transfers, but is when doing userspace-kernel zero-copy.
io_uring is promising.