netdev-dpdk: Remove vhost send retries when no packets have been sent.
authorKevin Traynor <kevin.traynor@intel.com>
Fri, 10 Jun 2016 16:49:38 +0000 (17:49 +0100)
committerDaniele Di Proietto <diproiettod@vmware.com>
Wed, 15 Jun 2016 01:45:03 +0000 (18:45 -0700)
commit31871ee3839c35e6878debfc7926afa471dbdec6
tree6eed2379279e0752df2fbf30869638987ceb6ba8
parent4a48cdfbf19643314d4e0b9d4b4ffc2961972eb2
netdev-dpdk: Remove vhost send retries when no packets have been sent.

If the guest is connected but not servicing the virt queue, this leads
to vhost send retries until timeout. This is fine in isolation but if
there are other high rate queues also being serviced by the same PMD
it can lead to a performance hit on those queues. Change to only retry
when at least some packets have been successfully sent on the previous
attempt.

Also, limit retries to avoid a similar delays if packets are being sent
at a very low rate due to few available descriptors.

Reported-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com>
Signed-off-by: Kevin Traynor <kevin.traynor@intel.com>
Acked-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com>
Acked-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
lib/netdev-dpdk.c