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 -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> wrote: > Hi, > > i followed the 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] > Gesendet: Montag, 4. April 2016 12:01 > An: Felix Brucker <fbruc...@xantaro.net> > Cc: 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 on configuring multiqueue. > > Thanks, > Ciara > > > > > > > -----Ursprüngliche Nachricht----- > > Von: Loftus, Ciara [mailto:ciara.lof...@intel.com] > > Gesendet: Montag, 4. April 2016 11:29 > > An: Felix Brucker <fbruc...@xantaro.net>; 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 > http://openvswitch.org/mailman/listinfo/discuss >
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss