* [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).