-
-
Notifications
You must be signed in to change notification settings - Fork 11
Description
When trying to validate network performances on embedded system, a limited factor might be the IO. This can be avoided by avoiding copies.
There are multiple advanced zero-copy techniques these days (io_uring Zerocopy, TCP devmem, MSG_TX_RX_ZC, and probably others -- check this to get some comparisons) but they can be complex to put in place, requiring a recent Linux kernel, mostly useful for very high BW requirements, and/or requiring specific HW. (Maybe io_uring ZC might be easier to put in place, but not sure whether it is really needed with a static buffer and the need of checking exchanged data.) Yet, a first step might be to use mmap(), sendfile() and/or MSG_ZEROCOPY (not supported by all protocols) :)
(I just found this article that can help to understand why it can be interesting to do that)