From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFu14-0001jA-Jg for qemu-devel@nongnu.org; Fri, 29 Apr 2011 16:10:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QFu13-0000pM-3m for qemu-devel@nongnu.org; Fri, 29 Apr 2011 16:10:18 -0400 Received: from mail-yi0-f45.google.com ([209.85.218.45]:47879) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QFu12-0000pH-W6 for qemu-devel@nongnu.org; Fri, 29 Apr 2011 16:10:17 -0400 Received: by yib19 with SMTP id 19so1725115yib.4 for ; Fri, 29 Apr 2011 13:10:16 -0700 (PDT) Message-ID: <4DBB1B25.1020300@codemonkey.ws> Date: Fri, 29 Apr 2011 15:10:13 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <20110420082706.32157.59668.stgit@dhcp-91-7.nay.redhat.com.englab.nay.redhat.com> <19887.42381.34145.956833@gargle.gargle.HOWL> In-Reply-To: <19887.42381.34145.956833@gargle.gargle.HOWL> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 0/2] Multiqueue support for qemu(virtio-net) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jason Wang Cc: Krishna Kumar2 , kvm@vger.kernel.org, mst@redhat.com, netdev@vger.kernel.org, rusty@rustcorp.com.au, qemu-devel@nongnu.org On 04/20/2011 10:33 PM, Jason Wang wrote: > Krishna Kumar2 writes: > > Thanks Jason! > > > > So I can use my virtio-net guest driver and test with this patch? > > Please provide the script you use to start MQ guest. > > > > Yes and thanks. Following is a simple script may help you start macvtap mq > guest. > > qemu_path=./qemu-system-x86_64 > img_path=/home/kvm_autotest_root/images/mq.qcow2 > vtap_dev=/dev/tap104 > mac=96:88:12:1C:27:83 > smp=2 > mq=4 > > for i in `seq $mq` > do > vtap+=" -netdev tap,id=hn$i,fd=$((i+100)) $((i+100))<>$vtap_dev" So you are basically dup()'ing the tap device. Does this actually improve performance at all? Regards, Anthony Liguori > netdev+="hn$i#" > done > > eval "$qemu_path $img_path $vtap -device virtio-net-pci,queues=$mq,netdev=$netdev,mac=$mac,vectors=32 -enable-kvm -smp $smp" > > > > Regards, > > > > - KK > > > > Jason Wang wrote on 04/20/2011 02:03:07 PM: > > > > > Jason Wang > > > 04/20/2011 02:03 PM > > > > > > To > > > > > > Krishna Kumar2/India/IBM@IBMIN, kvm@vger.kernel.org, mst@redhat.com, > > > netdev@vger.kernel.org, rusty@rustcorp.com.au, qemu- > > > devel@nongnu.org, anthony@codemonkey.ws > > > > > > cc > > > > > > Subject > > > > > > [RFC PATCH 0/2] Multiqueue support for qemu(virtio-net) > > > > > > Inspired by Krishna's patch > > (http://www.spinics.net/lists/kvm/msg52098.html > > > ) and > > > Michael's suggestions. The following series adds the multiqueue support > > for > > > qemu and enable it for virtio-net (both userspace and vhost). > > > > > > The aim for this series is to simplified the management and achieve the > > same > > > performacne with less codes. > > > > > > Follows are the differences between this series and Krishna's: > > > > > > - Add the multiqueue support for qemu and also for userspace virtio-net > > > - Instead of hacking the vhost module to manipulate kthreads, this patch > > just > > > implement the userspace based multiqueues and thus can re-use the > > > existed vhost kernel-side codes without any modification. > > > - Use 1:1 mapping between TX/RX pairs and vhost kthread because the > > > implementation is based on usersapce. > > > - The cli is also changed to make the mgmt easier, the -netdev option of > > qdev > > > can now accpet more than one ids. You can start a multiqueue virtio-net > > device > > > through: > > > ./qemu-system-x86_64 -netdev tap,id=hn0,vhost=on,fd=X -netdev > > > tap,id=hn0,vhost=on,fd=Y -device > > virtio-net-pci,netdev=hn0#hn1,queues=2 ... > > > > > > The series is very primitive and still need polished. > > > > > > Suggestions are welcomed. > > > --- > > > > > > Jason Wang (2): > > > net: Add multiqueue support > > > virtio-net: add multiqueue support > > > > > > > > > hw/qdev-properties.c | 37 ++++- > > > hw/qdev.h | 3 > > > hw/vhost.c | 26 ++- > > > hw/vhost.h | 1 > > > hw/vhost_net.c | 7 + > > > hw/vhost_net.h | 2 > > > hw/virtio-net.c | 409 +++++++++++++++++++++++++++++++ > > > +------------------ > > > hw/virtio-net.h | 2 > > > hw/virtio-pci.c | 1 > > > hw/virtio.h | 1 > > > net.c | 34 +++- > > > net.h | 15 +- > > > 12 files changed, 353 insertions(+), 185 deletions(-) > > > > > > -- > > > Jason Wang > > >