Public bug reported: Hello guys!
I am seeing a problematic situation here, where a KVM Guest have a huge negative impact on its neighbors and on the host, if using Linux Kernel drivers and not DPDK drivers, for the VirtIO vNICs wired against the "dpdkvhostuser" socket port. Instead of writing down everything that I am doing, which is super boring, I'll do a screencast! Maybe this is an opportunity for Canonical to bring "Video Bug Reports" to Launchpad! ^_^ Watch the steps to reproduce this problem in a screencast now! https://www.youtube.com/v/yHnaSikd9XY?version=3&vq=hd720&autoplay=1 At a glance, I'm booting 3 KVM Guest on top of 6 dpdkvhostuser OVS Ports. The host setup is like this: --- # IXIA simulating LAN side ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk # IXIA simulating WAN side ovs-vsctl add-br br1 -- set bridge br1 datapath_type=netdev ovs-vsctl add-port br1 dpdk1 -- set Interface dpdk1 type=dpdk # Bring it up (not sure if needed) ip link set dev br0 up ip link set dev br1 up # Enable multi-queue on host side, 4 queues ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=4 # Give mode CPU Cores to ovs-vswitchd PMD threads ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=FFFF # Customer A DPDK Ports ovs-vsctl add-port br0 vhost-user1 -- set Interface vhost-user1 type=dpdkvhostuser ovs-vsctl add-port br1 vhost-user2 -- set Interface vhost-user2 type=dpdkvhostuser # Customer A VLAN tags ovs-vsctl set port vhost-user1 trunks=110,111 ovs-vsctl set port vhost-user2 trunks=110,111 # Customer B DPDK Ports ovs-vsctl add-port br0 vhost-user3 -- set Interface vhost-user3 type=dpdkvhostuser ovs-vsctl add-port br1 vhost-user4 -- set Interface vhost-user4 type=dpdkvhostuser # Customer B VLAN tags ovs-vsctl set port vhost-user3 trunks=112,113 ovs-vsctl set port vhost-user4 trunks=112,113 # Ubuntu KVM Guest with OVS+DPDK, all vlans, test control: ovs-vsctl add-port br0 vhost-user5 -- set Interface vhost-user5 type=dpdkvhostuser ovs-vsctl add-port br1 vhost-user6 -- set Interface vhost-user6 type=dpdkvhostuser --- You start VM 1, wired against vhost-user 1 and 2, speed drop until DPDK drivers loads up inside of the guest. You start VM 2, wired against vhost-user 3 and 4, speed drop until DPDK drivers loads up inside of the guest. You start VM 3, wired against vhost-user 5 and 6, speed drop until DPDK drivers loads up inside of the guest. This is a bad situation where a VM can badly affects its neighbors intentionally. Let me know if you guys needs more information about how to reproduce this, I can also, give access to my test environment via Teamviewer, for Canonical employees. Thanks! Thiago ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: openvswitch-switch-dpdk 2.5.0-0ubuntu1 ProcVersionSignature: Ubuntu 4.4.0-22.38-generic 4.4.8 Uname: Linux 4.4.0-22-generic x86_64 ApportVersion: 2.20.1-0ubuntu2 Architecture: amd64 Date: Sun May 1 19:23:22 2016 SourcePackage: openvswitch UpgradeStatus: Upgraded to xenial on 2016-04-07 (24 days ago) ** Affects: openvswitch (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug xenial -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1577256 Title: The OVS+DPDK dpdkvhostuser socket bridge, only works as expected, if the KVM Guest also have DPDK drivers loaded To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1577256/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs