From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [Qemu-devel] [PATCH V2 00/20] Multiqueue virtio-net Date: Mon, 28 Jan 2013 12:24:18 +0800 Message-ID: <5105FD72.4030102@redhat.com> References: <1359110143-42984-1-git-send-email-jasowang@redhat.com> <5105F037.9000007@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: krkumar2@in.ibm.com, aliguori@us.ibm.com, kvm@vger.kernel.org, mst@redhat.com, mprivozn@redhat.com, rusty@rustcorp.com.au, qemu-devel@nongnu.org, shajnocz@redhat.com, jwhan@filewood.snu.ac.kr, shiyer@redhat.com To: gaowanlong@cn.fujitsu.com Return-path: Received: from mx1.redhat.com ([209.132.183.28]:27582 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753269Ab3A1EYl (ORCPT ); Sun, 27 Jan 2013 23:24:41 -0500 In-Reply-To: <5105F037.9000007@cn.fujitsu.com> Sender: kvm-owner@vger.kernel.org List-ID: 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 > >