diff options
author | Kevin Traynor <ktraynor@redhat.com> | 2019-06-27 12:12:30 +0100 |
---|---|---|
committer | Ian Stokes <ian.stokes@intel.com> | 2019-06-28 10:20:12 +0100 |
commit | 6d6513bfc6579c7379f300e4eeff5c894224297c (patch) | |
tree | dad7072d6818ea7670a2787d75d36a8eb8559e16 /Documentation | |
parent | d5d0c94551b619c865acfc3e6ba39089e9b7b2a1 (diff) | |
download | openvswitch-6d6513bfc6579c7379f300e4eeff5c894224297c.tar.gz |
doc: Add info on vhost tx retries.
Add documentation about vhost tx retries and external
configuration that can help reduce/avoid them.
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Acked-by: Flavio Leitner <fbl@sysclose.org>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/topics/dpdk/vhost-user.rst | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst index ac5f46c43..a6cf9d1cc 100644 --- a/Documentation/topics/dpdk/vhost-user.rst +++ b/Documentation/topics/dpdk/vhost-user.rst @@ -75,6 +75,42 @@ type for all known use cases; the only limitation is that vhost-user client mode ports require QEMU version 2.7. Ports of type vhost-user are currently deprecated and will be removed in a future release. +vhost tx retries +~~~~~~~~~~~~~~~~ + +When sending a batch of packets to a vhost-user or vhost-user-client interface, +it may happen that some but not all of the packets in the batch are able to be +sent to the guest. This is often because there is not enough free descriptors +in the virtqueue for all the packets in the batch to be sent. In this case +there will be a retry, with a default maximum of 8 occurring. If at any time no +packets can be sent, it may mean the guest is not accepting packets, so there +are no (more) retries. + +.. note:: + + Maximum vhost tx batch size is defined by NETDEV_MAX_BURST, and is currently + as 32. + +Tx Retries may be reduced or even avoided by some external configuration, such +as increasing the virtqueue size through the ``rx_queue_size`` parameter +introduced in QEMU 2.7.0 / libvirt 2.3.0:: + + <interface type='vhostuser'> + <mac address='56:48:4f:53:54:01'/> + <source type='unix' path='/tmp/dpdkvhostclient0' mode='server'/> + <model type='virtio'/> + <driver name='vhost' rx_queue_size='1024' tx_queue_size='1024'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x10' function='0x0'/> + </interface> + +The guest application will also need need to provide enough descriptors. For +example with ``testpmd`` the command line argument can be used:: + + --rxd=1024 --txd=1024 + +The guest should also have sufficient cores dedicated for consuming and +processing packets at the required rate. + .. _dpdk-vhost-user: vhost-user |