2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

netdev-dpdk: Enable INDIRECT_DESC on DPDK vHostUser.

This gives much better performance for linux apps in the guest without
affecting dpdk applications in the guest.

I'm creating this patch on the basis of performance results outlined below.
In summary it appears that enabling INDIRECT_DESC on DPDK vHostUser ports
leads to very large increase in performance when using linux stack
applications in the guest with no noticable performance drop for DPDK based
applications in the guest.

Test#1 (VM-VM iperf3 performance)
 VMs use DPDK vhostuser ports
 OVS bridge is configured for normal action.
 OVS version 603381a (on 2.7.0 branch but before release,
     also seen on v2.6.0 and v2.6.1)
 DPDK v16.11
 QEMU v2.5.0 (also seen with v2.7.1)

 Results:
  INDIRECT_DESC enabled    5.30 Gbit/s
  INDIRECT_DESC disabled   0.05 Gbit/s

Test#2  (Phy-VM-Phy RFC2544 Throughput)
 DPDK PMDs are polling NIC, DPDK loopback app running in guest.
 OVS bridge is configured with port forwarding to VM (via dpdkvhostuser ports).
 OVS version 603381a (on 2.7.0 branch but before release),
     other versions not tested.
 DPDK v16.11
 QEMU v2.5.0 (also seen with v2.7.1)

 Results:
  INDIRECT_DESC enabled    2.75 Mpps @64B pkts (0.176 Gbit/s)
  INDIRECT_DESC disabled   2.75 Mpps @64B pkts (0.176 Gbit/s)

Signed-off-by: Billy O'Mahony <billy.o.mahony@intel.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Darrell Ball <dlu998@gmail.com>
This commit is contained in:
Billy O'Mahony
2017-03-01 12:36:43 +00:00
committed by Ben Pfaff
parent c67e46c01e
commit 86bd9ed93c

View File

@@ -2772,8 +2772,7 @@ netdev_dpdk_vhost_class_init(void)
rte_vhost_driver_callback_register(&virtio_net_device_ops);
rte_vhost_feature_disable(1ULL << VIRTIO_NET_F_HOST_TSO4
| 1ULL << VIRTIO_NET_F_HOST_TSO6
| 1ULL << VIRTIO_NET_F_CSUM
| 1ULL << VIRTIO_RING_F_INDIRECT_DESC);
| 1ULL << VIRTIO_NET_F_CSUM);
ovs_thread_create("vhost_thread", start_vhost_loop, NULL);
ovsthread_once_done(&once);