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 256B: 4.69 vs 5.42 Mpps (+~16%) 512B: 4.04 vs 4.90 Mpps (+~21%) 1518B: 2.51 vs 3.05 Mpps (+~22%) 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 v4: * Rebase v3: * Documentation updates: ** Style fixes ** Elaborate on expected logs ** Describe how to disable the feature ** Describe NIC descriptors limitation in more detail v2 changes: * 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 | 33 +++++ Documentation/topics/dpdk/vhost-user.rst | 58 +++++++++ NEWS | 3 + lib/netdev-dpdk.c | 202 +++++++++++++++++++++---------- vswitchd/vswitch.xml | 11 ++ 5 files changed, 245 insertions(+), 62 deletions(-) -- 2.7.5 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev