Hi Christian, thanks, that worked like a charm, and also my vm now reports 2 queues, but no communication is working on the interface (as ovs still warns about unsettable options) i will try the ubuntu packages for ovs-dpdk and dpdk and let you know if this works (as i suppose you dont get this warning/error?)
best regards Felix Von: Christian Ehrhardt [mailto:christian.ehrha...@canonical.com] Gesendet: Montag, 4. April 2016 15:58 An: Felix Brucker <fbruc...@xantaro.net> Cc: Daniele Di Proietto <diproiet...@vmware.com>; Loftus, Ciara <ciara.lof...@intel.com>; discuss@openvswitch.org Betreff: Re: [ovs-discuss] [OVS-DPDK] vhost-user with multiple queues does not work Hi Felix, this is Ubuntu 16.04 (Xenial). And I think several of your components need to be upgraded for multiqueue to properly work. IIRC at least your qemu and libvirt are too old. Please feel free to upgrade your system and go on - you'll get all the newer versions and can go on with your experiments. "sudo do-release-upgrade -d" should do the job for you. Yet regarding your initial question you see that the guest not "seeing" its multiqueues still applies. Here I hope for some insight from others on the List what else could/should be checked. Christian Ehrhardt Software Engineer, Ubuntu Server Canonical Ltd On Mon, Apr 4, 2016 at 3:49 PM, Felix Brucker <fbruc...@xantaro.net<mailto:fbruc...@xantaro.net>> wrote: Hi, for my setup libvirts generated output found in /var/log/libvirt/qemu/vm1.log does not seem to include the mq params: -chardev socket,id=charnet0,path=/usr/local/var/run/openvswitch/vhost-user-0 -netdev type=vhost-user,id=hostnet0,chardev=charnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e3:eb:b2,bus=pci.0,addr=0x2 -chardev socket,id=charnet1,path=/usr/local/var/run/openvswitch/vhost-user-1 -netdev type=vhost-user,id=hostnet1,chardev=charnet1 -device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:26:50:09,bus=pci.0,addr=0x3 ||/ Name Version Architecture Description +++-============================-===================-===================-============================================================== ii libvirt-bin 1.2.16-2ubuntu11.15.10.3 amd64 programs for the libvirt library ii libvirt0 1.2.16-2ubuntu11.15.10.3 amd64 library for interfacing with different virtualization systems ii qemu-kvm 1:2.3+dfsg-5ubuntu9.2 amd64 QEMU Full virtualization ii qemu-system-common 1:2.3+dfsg-5ubuntu9.2 amd64 QEMU full system emulation binaries (common files) ii qemu-system-x86 1:2.3+dfsg-5ubuntu9.2 amd64 QEMU full system emulation binaries (x86) also it seems you have newer versions of libvirt and qemu, on which OS are you running this? Best regards Felix Von: Christian Ehrhardt [mailto:christian.ehrha...@canonical.com<mailto:christian.ehrha...@canonical.com>] Gesendet: Montag, 4. April 2016 15:25 An: Felix Brucker <fbruc...@xantaro.net<mailto:fbruc...@xantaro.net>>; Daniele Di Proietto <diproiet...@vmware.com<mailto:diproiet...@vmware.com>> Cc: Loftus, Ciara <ciara.lof...@intel.com<mailto:ciara.lof...@intel.com>>; discuss@openvswitch.org<mailto:discuss@openvswitch.org> Betreff: Re: [ovs-discuss] [OVS-DPDK] vhost-user with multiple queues does not work Hi, I thought that is rather close to my setup so gave it a look as well. And at least in the current setup I can confirm what Felix sees: I added <driver queues='4'/> for the vhost_user device as in libvirt since https://www.redhat.com/archives/libvir-list/2015-June/msg00201.html The section libvirt generates out of that is -chardev socket,id=charnet1,path= /var/run/openvswitch/vhost-user-2 -netdev type=vhost-user,id=hostnet1,chardev=charnet1,queues=4 -device virtio-net-pci,mq=on,vectors=10,netdev=hostnet1,id=net1,mac=52:54:00 :62:47:b6,bus=pci.0,addr=0x4 So the 4 queues get here by libvirt, and also the 2*queues+2 vectors get into the commandline. I think it has all that was once summarized here http://wiki.qemu.org/Features/vhost-user-ovs-dpdk#Enabling_multi-queue Yet the device in the guest looks like this (no queues able to be combined) ethtool -l eth1 Channel parameters for eth1: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 1 Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 1 Versions of involved programs: ||/ Name Version Architecture Description +++-=====================================-=======================-=======================-=============================================================================== ii libvirt-bin 1.3.1-1ubuntu6 amd64 programs for the libvirt library ii libvirt0:amd64 1.3.1-1ubuntu6 amd64 library for interfacing with different virtualization systems ii qemu-kvm 1:2.5+dfsg-5ubuntu6 amd64 QEMU Full virtualization ii dpdk 2.2.0-0ubuntu6 amd64 Data Plane Development Kit (runtime) ii libdpdk0:amd64 2.2.0-0ubuntu6 amd64 Data Plane Development Kit (runtime libraries) ii openvswitch-common 2.5.0-0ubuntu1 amd64 Open vSwitch common components ii openvswitch-switch 2.5.0-0ubuntu1 amd64 Open vSwitch switch implementations ii openvswitch-switch-dpdk 2.5.0-0ubuntu1 amd64 DPDK enabled Open vSwitch switch implementation Full qemu commandline: qemu-system-x86_64 -enable-kvm -name guest-dpdk-vhost-user-2 -S -machine pc-i440fx-wily,accel=kvm,usb=o ff -cpu host -m 2048 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -object memory-backend-file,id=ram-node0,prealloc=yes,mem-path=/dev/hugepages/libvirt/qemu,share =yes,size=2147483648<tel:2147483648> -numa node,nodeid=0,cpus=0,memdev=ram-node0 -uuid 380e03d4-ea96-410a-b50f-f7fdbb6facdd -nographic -no-user-config -nodefaults -chardev socket,id=charmo nitor,path=/var/lib/libvirt/qemu/domain-guest-dpdk-vhost-user-2/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/uvtool/libvirt/images/guest-dpdk-vhost-user-2.qcow,format=qcow2,if=none,id=drive-virtio -disk0,cache=unsafe -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/var/lib/uvtool/libvirt/images/guest -dpdk-vhost-user-2-ds.qcow,format=raw,if=none,id=drive-virtio-disk1,cache=unsafe -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,fd=31,id=hostnet0,vhost=on,vhostfd=33 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:10:f7:df,bus=pci.0,addr=0x3 -chardev socket,id=charnet1,path= /var/run/openvswitch/vhost-user-2 -netdev type=vhost-user,id=hostnet1,chardev=charnet1,queues=4 -device virtio-net-pci,mq=on,vectors=10,netdev=hostnet1,id=net1,mac=52:54:00 :62:47:b6,bus=pci.0,addr=0x4 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-ba lloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on Kind Regards, Christian Christian Ehrhardt Software Engineer, Ubuntu Server Canonical Ltd On Mon, Apr 4, 2016 at 12:17 PM, Felix Brucker <fbruc...@xantaro.net<mailto:fbruc...@xantaro.net>> wrote: Hi, i followed the Install.DPDK.md<http://Install.DPDK.md> initially, thats where i got ovs-vsctl set Interface vhost-user-2 options:n_rxq=<requested queues> to set the rx queues for vhost-user interfaces. Im using libvirt, so im not passing any cli arguments, rather my xml snippet looks like this: <interface type='vhostuser'> <mac address='52:54:00:e3:eb:b2'/> <source type='unix' path='/usr/local/var/run/openvswitch/vhost-user-0' mode='client'/> <model type='virtio'/> <driver queues='2'/> </interface> <interface type='vhostuser'> <mac address='52:54:00:26:50:09'/> <source type='unix' path='/usr/local/var/run/openvswitch/vhost-user-1' mode='client'/> <model type='virtio'/> <driver queues='2'/> </interface> I also tried with an additional name parameter like so: <driver name='vhost' queues='2'/> as stated for "running ovs-vswitchd with DPDK backend inside a VM" (which im not doing right now), but this also did not change anything. Best regards Felix -----Ursprüngliche Nachricht----- Von: Loftus, Ciara [mailto:ciara.lof...@intel.com<mailto:ciara.lof...@intel.com>] Gesendet: Montag, 4. April 2016 12:01 An: Felix Brucker <fbruc...@xantaro.net<mailto:fbruc...@xantaro.net>> Cc: discuss@openvswitch.org<mailto:discuss@openvswitch.org> Betreff: RE: [ovs-discuss] [OVS-DPDK] vhost-user with multiple queues does not work > > Hi, > > setting > > ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=2 > > did not create two queues inside the guest, from the name of the > command i guess it sets the number of rx queues for the pmd host > interface to 2, but not the vhost-user interface for the vm. > Im using branch-2.5 because a bug i encountered regarding vhost-thread > was fixed 6 days ago on that branch. > > Best regards > Felix Can you share the command line you are using to start the VM? Do you have the necessary fields set correctly? eg. qemu-system-x86_64 ... -chardev socket,id=char0,path=/my/sock -netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce,queues=2 -device virtio-net-pci,mac=00:00:00:00:00:01,netdev=mynet1,mrg_rxbuf=off,mq=on,vectors=6 There's more info in INSTALL.DPDK.md<http://INSTALL.DPDK.md> on configuring multiqueue. Thanks, Ciara > > > -----Ursprüngliche Nachricht----- > Von: Loftus, Ciara > [mailto:ciara.lof...@intel.com<mailto:ciara.lof...@intel.com>] > Gesendet: Montag, 4. April 2016 11:29 > An: Felix Brucker <fbruc...@xantaro.net<mailto:fbruc...@xantaro.net>>; > discuss@openvswitch.org<mailto:discuss@openvswitch.org> > Betreff: RE: [ovs-discuss] [OVS-DPDK] vhost-user with multiple queues > does not work > > > > > Hi, > > > > when configuring OVS vhost-user interfaces with multiple queues like so: > > > > ovs-vsctl set Interface vhost-user-0 options:n_rxq=2 ovs-vsctl set > > Interface vhost-user-1 options:n_rxq=2 > > > > i get the following warnings when starting ovs-vswitchd: > > > > 2016-04-04T08:53:28Z|00038|netdev|WARN|vhost-user-0: arguments > > provided to device that is not configurable > > 2016-04-04T08:53:28Z|00039|netdev|WARN|vhost-user-1: arguments > > provided to device that is not configurable > > > > The guest vm also does not have multiple queues enabled as they are > > not set in ovs. > > Im using OVS 2.5 from git -> branch-2.5 -> commit > > e099c86ca432d1daeaf8edb66225e7edf061c0b0 > > Hi, > > If you are using branch-2.5 you cannot use the n_rxq field. Instead > you need to set multiple queues like so: > ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=4 > > This sets the number of rxqs for all devices to 4. > > Thanks, > Ciara > > > > > Someone had a similar issue or knows a fix? > > > > Best regards > > Felix _______________________________________________ discuss mailing list discuss@openvswitch.org<mailto:discuss@openvswitch.org> http://openvswitch.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss