From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53970 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P2nwY-0003Zr-R4 for qemu-devel@nongnu.org; Mon, 04 Oct 2010 12:31:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P2nwX-0006MR-9M for qemu-devel@nongnu.org; Mon, 04 Oct 2010 12:31:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:61091) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P2nwX-0006Lw-1j for qemu-devel@nongnu.org; Mon, 04 Oct 2010 12:31:13 -0400 Date: Mon, 4 Oct 2010 18:25:02 +0200 From: "Michael S. Tsirkin" Subject: Re: [Qemu-devel] Re: [PATCH] virtio: Use ioeventfd for virtqueue notify Message-ID: <20101004162502.GA6078@redhat.com> References: <1285855312-11739-1-git-send-email-stefanha@linux.vnet.ibm.com> <4CA862A7.2080302@redhat.com> <20101003135138.GA19775@redhat.com> <4CA89185.6070302@redhat.com> <20101003142828.GB19775@redhat.com> <4CA92B79.2030805@linux.vnet.ibm.com> <4CA98A8D.4000500@redhat.com> <4CA9DE2A.5080309@linux.vnet.ibm.com> <20101004161238.GB5795@redhat.com> <4CA9FEC3.20205@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4CA9FEC3.20205@linux.vnet.ibm.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Steve Dobbelstein , Stefan Hajnoczi , kvm@vger.kernel.org, qemu-devel@nongnu.org, Khoa Huynh , Avi Kivity , sri@linux.vnet.ibm.com On Mon, Oct 04, 2010 at 11:20:19AM -0500, Anthony Liguori wrote: > On 10/04/2010 11:12 AM, Michael S. Tsirkin wrote: > >On Mon, Oct 04, 2010 at 09:01:14AM -0500, Anthony Liguori wrote: > >>On 10/04/2010 03:04 AM, Avi Kivity wrote: > >>>On 10/04/2010 03:18 AM, Anthony Liguori wrote: > >>>>On 10/03/2010 09:28 AM, Michael S. Tsirkin wrote: > >>>>>>This is using eventfd as well. > >>>>>Sorry, I meant irqfd. > >>>>I've tried using irqfd in userspace. It hurts performance quite > >>>>a bit compared to doing an ioctl so I would suspect this too. > >>>> > >>>>A last_used_idx or similar mechanism should help performance > >>>>quite a bit on top of ioeventfd too. > >>>> > >>>Any idea why? While irqfd does quite a bit of extra locking, it > >>>shouldn't be that bad. > >>Not really. It was somewhat counter intuitive. > >> > >>A worthwhile experiment might be to do some layering violations and > >>have vhost do an irq injection via an ioctl and see what the > >>performance delta is. > >I think you don't even need to try that hard. > >Just comment this line: > >// proxy->pci_dev.msix_mask_notifier = virtio_pci_mask_notifier; > >this is what switches to irqfd when msi vector is unmasked. > > That drops to userspace though for all irqs, no? Exactly. > Or did you mean that commenting that line out improves performance > demonstrating the overhead of irqfd? > > Regards, > > Anthony Liguori Haven't tried this, but possibly. > >> I suspect it could give vhost a nice boost. > >> > >>Regards, > >> > >>Anthony Liguori