From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44569 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PSBG1-0002SP-MN for qemu-devel@nongnu.org; Mon, 13 Dec 2010 11:28:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PSBG0-0006lX-LF for qemu-devel@nongnu.org; Mon, 13 Dec 2010 11:28:13 -0500 Received: from mail-ww0-f41.google.com ([74.125.82.41]:40767) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PSBG0-0006lI-Ek for qemu-devel@nongnu.org; Mon, 13 Dec 2010 11:28:12 -0500 Received: by wwi18 with SMTP id 18so3774386wwi.4 for ; Mon, 13 Dec 2010 08:28:11 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20101213161219.GA6715@redhat.com> References: <20101212204127.GA24726@redhat.com> <20101212204228.GA24786@redhat.com> <20101212205634.GA24986@redhat.com> <20101212210959.GA25136@redhat.com> <20101213103836.GG25590@redhat.com> <20101213133538.GA2731@redhat.com> <20101213133615.GB2731@redhat.com> <20101213161219.GA6715@redhat.com> Date: Mon, 13 Dec 2010 16:28:11 +0000 Message-ID: From: Stefan Hajnoczi Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: [PATCH v5 0/4] virtio: Use ioeventfd for virtqueue notify List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: qemu-devel@nongnu.org On Mon, Dec 13, 2010 at 4:12 PM, Michael S. Tsirkin wrote: > On Mon, Dec 13, 2010 at 03:27:06PM +0000, Stefan Hajnoczi wrote: >> On Mon, Dec 13, 2010 at 1:36 PM, Michael S. Tsirkin wro= te: >> > On Mon, Dec 13, 2010 at 03:35:38PM +0200, Michael S. Tsirkin wrote: >> >> On Mon, Dec 13, 2010 at 01:11:27PM +0000, Stefan Hajnoczi wrote: >> >> > Fresh results: >> >> > >> >> > 192.168.0.1 - host (runs netperf) >> >> > 192.168.0.2 - guest (runs netserver) >> >> > >> >> > host$ src/netperf -H 192.168.0.2 -- -m 200 >> >> > >> >> > ioeventfd=3Don >> >> > TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.= 2 >> >> > (192.168.0.2) port 0 AF_INET >> >> > Recv =A0 Send =A0 =A0Send >> >> > Socket Socket =A0Message =A0Elapsed >> >> > Size =A0 Size =A0 =A0Size =A0 =A0 Time =A0 =A0 Throughput >> >> > bytes =A0bytes =A0 bytes =A0 =A0secs. =A0 =A010^6bits/sec >> >> > =A087380 =A016384 =A0 =A0200 =A0 =A010.00 =A0 =A01759.25 >> >> > >> >> > ioeventfd=3Doff >> >> > TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.= 2 >> >> > (192.168.0.2) port 0 AF_INET >> >> > Recv =A0 Send =A0 =A0Send >> >> > Socket Socket =A0Message =A0Elapsed >> >> > Size =A0 Size =A0 =A0Size =A0 =A0 Time =A0 =A0 Throughput >> >> > bytes =A0bytes =A0 bytes =A0 =A0secs. =A0 =A010^6bits/sec >> >> > >> >> > =A087380 =A016384 =A0 =A0200 =A0 =A010.00 =A0 =A01757.15 >> >> > >> >> > The results vary approx +/- 3% between runs. >> >> > >> >> > Invocation: >> >> > $ x86_64-softmmu/qemu-system-x86_64 -m 4096 -enable-kvm -netdev >> >> > type=3Dtap,id=3Dnet0,ifname=3Dtap0,script=3Dno,downscript=3Dno -dev= ice >> >> > virtio-net-pci,netdev=3Dnet0,ioeventfd=3Don|off -vnc :0 -drive >> >> > if=3Dvirtio,cache=3Dnone,file=3D$HOME/rhel6-autobench-raw.img >> >> > >> >> > I am running qemu.git with v5 patches, based off >> >> > 36888c6335422f07bbc50bf3443a39f24b90c7c6. >> >> > >> >> > Host: >> >> > 1 Quad-Core AMD Opteron(tm) Processor 2350 @ 2 GHz >> >> > 8 GB RAM >> >> > RHEL 6 host >> >> > >> >> > Next I will try the patches on latest qemu-kvm.git >> >> > >> >> > Stefan >> >> >> >> One interesting thing is that I put virtio-net earlier on >> >> command line. >> > >> > Sorry I mean I put it after disk, you put it before. >> >> I can't find a measurable difference when swapping -drive and -netdev. > > One other concern I have is that we are apparently using > ioeventfd for all VQs. E.g. for virtio-net we probably should not > use it for the control VQ - it's a waste of resources. One option is a per-device (block, net, etc) bitmap that masks out virtqueues. Is that something you'd like to see? I'm tempted to mask out the RX vq too and see how that affects the qemu-kvm.git specific issue. Stefan