Comment by LtdJorge

17 days ago

Will ZCRX help here? I’m not sure it supports UDP. It should provide great speed-ups but it requires hardware support which is very scarce for now.

> Will ZCRX help here?

Do you mean zero-copy rx by ZCRX? If so, io_uring should support that, but you need a kernel recent enough.

It supports both zero-copy rx/tx on tcp and udp afaik, and there was a paper from the google engineers that implemented zero-copy send/recv (originally for tcp only) showing that the whole endeavor was worth it when the payload was >= 20kb in size (iirc).

It could be interesting to see if that's still the case with current state of linux, memory sticks, etc.

I've looked up the links from when i dug into that:

- https://www.kernel.org/doc/html/latest/networking/msg_zeroco...

- the paper: https://netdevconf.org/2.1/papers/debruijn-msgzerocopy-talk....

- presentation about the paper: https://netdevconf.org/2.1/session.html?debruijn