qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V2 00/20] Multiqueue virtio-net


From: Jason Wang
Subject: Re: [Qemu-devel] [PATCH V2 00/20] Multiqueue virtio-net
Date: Mon, 28 Jan 2013 12:24:18 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2

On 01/28/2013 11:27 AM, Wanlong Gao wrote:
> On 01/25/2013 06:35 PM, Jason Wang wrote:
>> Hello all:
>>
>> This seires is an update of last version of multiqueue virtio-net support.
>>
>> This series tries to brings multiqueue support to virtio-net through a
>> multiqueue support tap backend and multiple vhost threads.
>>
>> To support this, multiqueue nic support were added to qemu. This is done by
>> introducing an array of NetClientStates in NICState, and make each pair of 
>> peers
>> to be an queue of the nic. This is done in patch 1-7.
>>
>> Tap were also converted to be able to create a multiple queue
>> backend. Currently, only linux support this by issuing TUNSETIFF N times with
>> the same device name to create N queues. Each fd returned by TUNSETIFF were a
>> queue supported by kernel. Three new command lines were introduced, "queues"
>> were used to tell how many queues will be created by qemu; "fds" were used to
>> pass multiple pre-created tap file descriptors to qemu; "vhostfds" were used 
>> to
>> pass multiple pre-created vhost descriptors to qemu. This is done in patch 
>> 8-13.
>>
>> A method of deleting a queue and queue_index were also introduce for virtio,
>> this is done in patch 14-15.
>>
>> Vhost were also changed to support multiqueue by introducing a start vq index
>> which tracks the first virtqueue that will be used by vhost instead of the
>> assumption that the vhost always use virtqueue from index 0. This is done in
>> patch 16.
>>
>> The last part is the multiqueue userspace changes, this is done in patch 
>> 17-20.
>>
>> With this changes, user could start a multiqueue virtio-net device through
>>
>> ./qemu -netdev tap,id=hn0,queues=2,vhost=on -device virtio-net-pci,netdev=hn0
>>
>> Management tools such as libvirt can pass multiple pre-created fds/vhostfds 
>> through
>>
>> ./qemu -netdev tap,id=hn0,fds=X:Y,vhostfds=M:N -device 
>> virtio-net-pci,netdev=hn0
>>
>> No git tree this round since github is unavailable in China...
> I saw that github had already been opened again. I can use it.

Thanks for reminding, I've pushed the new bits to
git://github.com/jasowang/qemu.git.
>
> Thanks,
> Wanlong Gao
>
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]