[ovs-dev] [PATCH v2 0/2] vHost Dequeue Zero Copy
ciara.loftus at intel.com
Wed Oct 11 14:21:51 UTC 2017
This patch enables optional dequeue zero copy for vHost ports.
This gives a performance increase for some use cases. I'm using
the cover letter to report my results.
vhost (vm1) -> vhost (vm2)
Using testpmd to source (txonly) in vm1 and sink (rxonly) in vm2.
4C1Q 64B packets: 5.05Mpps -> 5.52Mpps = 9.2% improvement
vhost (virtio_user backend 1) -> vhost (virtio_user backend 2)
Using 2 instances of testpmd, each with a virtio_user backend
connected to one of the two vhost ports created in OVS.
2C1Q 1518B packets: 2.59Mpps -> 3.09Mpps = 19.3% improvement
vhost -> phy
Using testpmd to source (txonly) and sink in the NIC
1C1Q 64B packets: 6.81Mpps -> 7.76Mpps = 13.9% improvement
phy -> vhost -> phy
No improvement measured
This patch is dependent on the series below which fixes issues with
* Mention feature is disabled by default in the documentation
* Add PHY-VM-PHY with vHost dequeue zero copy documentation guide
* Line wrap link to DPDK documentation
* Rename zc_enabled to dq_zc_enabled for future-proofing
* Mention feature is available for both vHost port types in the docs
* In practise, rebooting the VM doesn't always enable the feature if
enabled post-boot, so update the documentation to suggest a shutdown
rather than a reboot. The reason why this doesn't work is probably
because the total downtime during reboot isn't enough to allow a vhost
device unregister & re-register with the new feature, so when the VM
starts again it doesn't pick up the new device as it hasn't been
re-registered in time.
Ciara Loftus (2):
netdev-dpdk: Helper function for vHost device setup
netdev-dpdk: Enable optional dequeue zero copy for vHost User
Documentation/howto/dpdk.rst | 29 +++++
Documentation/topics/dpdk/vhost-user.rst | 35 ++++++
NEWS | 3 +
lib/netdev-dpdk.c | 202 +++++++++++++++++++++----------
vswitchd/vswitch.xml | 11 ++
5 files changed, 218 insertions(+), 62 deletions(-)
More information about the dev