Does the Homa network protocol support zero-copy data reception?
Does the Homa network protocol support zero-copy data reception?
Posted Jan 7, 2025 11:29 UTC (Tue) by paulj (subscriber, #341)In reply to: Does the Homa network protocol support zero-copy data reception? by bvanassche
Parent article: The Homa network protocol
I don't know Homa, other than via 2 articles on LWN and the papers on it. The interface Homa presents, as described in this article, appears to be explicitly designed for zero-copy receive though - note how userspace allocates the buffer, and the API then allows responsibility/ownership of the buffer to be transferred back and forth between kernel and userspace. I.e., userspace assigns a set of buffers to the kernel, allowing the kernel to setup direct DMA to the buffer, and then ownership is transferred back to userspace on completion - allowing it to do what it wants with the same buffer.
IIUC correctly anyway.
On the Tx side, sendmsg() API is already capable of zerocopy - see https://www.kernel.org/doc/html/latest/networking/msg_zer... . I assume, but do not know, that Homa relies on this existing userspace API for zerocopy on the Tx side.
