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