|
|
Log in / Subscribe / Register

Does the Homa network protocol support zero-copy data reception?

Does the Homa network protocol support zero-copy data reception?

Posted Jan 6, 2025 22:39 UTC (Mon) by bvanassche (subscriber, #90104)
Parent article: The Homa network protocol

To achieve high performance, the CPU should not copy the contents of network data buffers. Does the Homa network protocol support sending and receiving data without copying it? The RDMA userspace verbs API supports this. The Berkeley socket API does not support zero-copy TCP receive (except when using mmap()).


to post comments

Does the Homa network protocol support zero-copy data reception?

Posted Jan 7, 2025 11:29 UTC (Tue) by paulj (subscriber, #341) [Link]

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.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds