Open skoehler opened 2 years ago
Is the
--zerocopy
option forwarded to the server
--zerocopy
option is forwarded to the server- see PR #1204.
For UDP we have
recvmmsg
andsendmmsg
. So clearly, zero copy APIs exist both for sending and receiving data.
Adding UDP support using sendmmsg
is available in PR #1034. As noted in this PR, using recvmmsg
doesn't seem to help and it may even reduce the throughput.
For TCP, sendfile
is used for zero copy.
Context
Version of iperf3: d2a2252
Hardware: Dell XPS 15
Operating system (and distribution, if any): Ubuntu 18.04 with latest updates
Other relevant information (for example, non-default compilers, libraries, cross-compiling, etc.):
Enhancement Request
Currently,
--zerocopy
is only listed as a client option and the documentation states, that zerocopy is only used for sending data. I don't follow. For UDP we haverecvmmsg
andsendmmsg
. So clearly, zero copy APIs exist both for sending and receiving data. Why would iperf3 not use zero copy for receiving data? It will likely reduce CPU load and package drops on the receiver side.Also
--reverse
swaps the roles of client and server. Now the server is sending. Is the--zerocopy
option forwarded to the server in such a case?Have an option to enable zero copy for sending and receiving. It could also be separate options. If these options remain client options, maybe be clearer about whether these options are forwarded to the server. If the options are not forwarded to the server, then it should be possible to set zerocopy for the server as well.
n/a