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

Reply via email to