You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Current behavior
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 have recvmmsg and sendmmsg. 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?
Desired behavior
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.
Implementation notes
n/a
The text was updated successfully, but these errors were encountered:
--zerocopy option is forwarded to the server- see PR #1204.
For UDP we have recvmmsg and sendmmsg. 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.
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
The text was updated successfully, but these errors were encountered: