[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
>
>
- Re: [Qemu-devel] [PATCH V2 14/20] vhost: multiqueue support, (continued)
- [Qemu-devel] [PATCH V2 16/20] virtio: add a queue_index to VirtQueue, Jason Wang, 2013/01/25
- [Qemu-devel] [PATCH V2 18/20] virtio-net: multiqueue support, Jason Wang, 2013/01/25
- [Qemu-devel] [PATCH V2 19/20] virtio-net: migration support for multiqueue, Jason Wang, 2013/01/25
- [Qemu-devel] [PATCH V2 20/20] virtio-net: compat multiqueue support, Jason Wang, 2013/01/25
- [Qemu-devel] [PATCH V2 09/20] tap: factor out common tap initialization, Jason Wang, 2013/01/25
- [Qemu-devel] [PATCH V2 10/20] tap: add Linux multiqueue support, Jason Wang, 2013/01/25
- [Qemu-devel] [PATCH V2 17/20] virtio-net: separate virtqueue from VirtIONet, Jason Wang, 2013/01/25
- [Qemu-devel] [PATCH V2 08/20] tap: import linux multiqueue constants, Jason Wang, 2013/01/25
- Re: [Qemu-devel] [PATCH V2 00/20] Multiqueue virtio-net, Wanlong Gao, 2013/01/27
- Re: [Qemu-devel] [PATCH V2 00/20] Multiqueue virtio-net,
Jason Wang <=