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: Wanlong Gao
Subject: Re: [Qemu-devel] [PATCH V2 00/20] Multiqueue virtio-net
Date: Mon, 28 Jan 2013 11:27:51 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

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,
Wanlong Gao




reply via email to

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