* [Qemu-devel] [question] virtio-net-device and multi-queue option @ 2014-09-19 0:10 Eric Auger 2014-09-19 1:42 ` Gonglei (Arei) 0 siblings, 1 reply; 5+ messages in thread From: Eric Auger @ 2014-09-19 0:10 UTC (permalink / raw) To: qemu list, Michael S. Tsirkin 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 Also are there any "easy" tunings I can play with to try to reach the best performance. Thank you in advance Best Regards Eric ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [question] virtio-net-device and multi-queue option 2014-09-19 0:10 [Qemu-devel] [question] virtio-net-device and multi-queue option Eric Auger @ 2014-09-19 1:42 ` Gonglei (Arei) 2014-09-19 2:23 ` Eric Auger 0 siblings, 1 reply; 5+ messages in thread From: Gonglei (Arei) @ 2014-09-19 1:42 UTC (permalink / raw) To: Eric Auger, qemu list, Michael S. Tsirkin > 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 > 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [question] virtio-net-device and multi-queue option 2014-09-19 1:42 ` Gonglei (Arei) @ 2014-09-19 2:23 ` Eric Auger 2014-09-19 2:30 ` Gonglei (Arei) 0 siblings, 1 reply; 5+ messages in thread From: Eric Auger @ 2014-09-19 2:23 UTC (permalink / raw) To: Gonglei (Arei), qemu list, Michael S. Tsirkin 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 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 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [question] virtio-net-device and multi-queue option 2014-09-19 2:23 ` Eric Auger @ 2014-09-19 2:30 ` Gonglei (Arei) 2014-09-19 17:09 ` Eric Auger 0 siblings, 1 reply; 5+ messages in thread From: Gonglei (Arei) @ 2014-09-19 2:30 UTC (permalink / raw) To: Eric Auger, qemu list, Michael S. Tsirkin > 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 [...] 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 > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [question] virtio-net-device and multi-queue option 2014-09-19 2:30 ` Gonglei (Arei) @ 2014-09-19 17:09 ` Eric Auger 0 siblings, 0 replies; 5+ messages in thread From: Eric Auger @ 2014-09-19 17:09 UTC (permalink / raw) 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 >>> > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-09-19 17:10 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-09-19 0:10 [Qemu-devel] [question] virtio-net-device and multi-queue option Eric Auger 2014-09-19 1:42 ` Gonglei (Arei) 2014-09-19 2:23 ` Eric Auger 2014-09-19 2:30 ` Gonglei (Arei) 2014-09-19 17:09 ` Eric Auger
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).