From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47530) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XV1hi-0003A7-K9 for qemu-devel@nongnu.org; Fri, 19 Sep 2014 13:10:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XV1ha-0002bh-V7 for qemu-devel@nongnu.org; Fri, 19 Sep 2014 13:10:42 -0400 Received: from mail-pd0-f174.google.com ([209.85.192.174]:55157) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XV1ha-0002b6-L3 for qemu-devel@nongnu.org; Fri, 19 Sep 2014 13:10:34 -0400 Received: by mail-pd0-f174.google.com with SMTP id z10so308067pdj.33 for ; Fri, 19 Sep 2014 10:10:28 -0700 (PDT) Message-ID: <541C6362.3070802@linaro.org> Date: Fri, 19 Sep 2014 19:09:54 +0200 From: Eric Auger MIME-Version: 1.0 References: <541B7490.6080206@linaro.org> <33183CC9F5247A488A2544077AF1902086DD7FC7@SZXEMA503-MBS.china.huawei.com> <541B9398.8050002@linaro.org> <33183CC9F5247A488A2544077AF1902086DD8016@SZXEMA503-MBS.china.huawei.com> In-Reply-To: <33183CC9F5247A488A2544077AF1902086DD8016@SZXEMA503-MBS.china.huawei.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [question] virtio-net-device and multi-queue option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Gonglei (Arei)" , qemu list , "Michael S. Tsirkin" On 09/19/2014 04:30 AM, Gonglei (Arei) wrote: >> From: Eric Auger [mailto:eric.auger@linaro.org] >> Sent: Friday, September 19, 2014 10:23 AM >> To: Gonglei (Arei); qemu list; Michael S. Tsirkin >> Subject: Re: [Qemu-devel] [question] virtio-net-device and multi-queue option >> >> On 09/19/2014 03:42 AM, Gonglei (Arei) wrote: >>>> Subject: [Qemu-devel] [question] virtio-net-device and multi-queue option >>>> >>>> Hi, >>>> >>>> >>>> I am currently doing some benchmarks using virtio-net-device using >>>> virtio-mmio (non PCI) with qemu_system_arm with KVM. Purpose is to >>>> compare with device passthrough performance. >>>> >>>> I heard about the availability of a multi-queue option that greatly >>>> improves the performance but I currently fail in enabling it. >>>> >>>> Please could someone explain me how to turn that feature on? My current >>>> virtio-net options simply are: >>>> >>>> -netdev tap,id=tap0,ifname="tap0" \ >>>> -device virtio-net-device,netdev=tap0 >>>> >>> >>> There are some steps: >>> >>> 1. create multi-queue netdev device, such as tap device (you can >>> use "ip tuntap" command, or libvirt), something like as below: >>> ip tuntap add tap_1 mode tap multi_queue >>> 2. pass corresponding parameters in QEMU command line: >>> -netdev >> type=tap,ifname=tap_q,id=net1,vhost=on,vhostforce=on,queues=4,script= \ >>> -device virtio-net-device,netdev=net1,mq=on,vectors=9 >> >> Hi Gonglei, >> >> Thanks for your quick reply. >> >> Definitively I have not gone through step 1! Nethertheless I am a but >> dubious about the fact the mq property does not seem to exist for my >> virtio-net-device. I get >> >> qemu-system-arm: -device >> virtio-net-device,netdev=tap0,mq=on,mac=52:54:00:12:34:56: Property >> '.mq' not found >> > Sorry, my typo. :( > > It should be "virtio-net-pci", not "virtio-net-devcie" > > BTW, You can use help command to get a devices properties: > > # ./qemu-system-x86_64 -device virtio-net-pci,? > [...] > virtio-net-pci.mq=on/off > [...] Hi Gonglei, I fear I can only use virtio-net-device since I only have VIRTIO-MMIO in my machine file and no PCI bus. The mq property does not seem to be supported for virtio-net-device as reported by sudo arm-softmmu/qemu-system-arm -M virt -device virtio-net-device,? virtio-net-device.tx=str virtio-net-device.x-txburst=int32 virtio-net-device.x-txtimer=uint32 virtio-net-device.bootindex=int32 virtio-net-device.netdev=netdev virtio-net-device.vlan=vlan virtio-net-device.mac=macaddr Thanks Best Regards Eric > > Best regards, > -Gonglei > >> Best Regards >> >> Eric >>> >>>> Also are there any "easy" tunings I can play with to try to reach the >>>> best performance. >>>> >>> >>> You can consider that using irq binding, core binding, vhost-net? etc.. >>> >>> Best regards, >>> -Gonglei >>> >>>> Thank you in advance >>>> >>>> Best Regards >>>> >>>> Eric >>> >