From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53887 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PPchn-0001Rn-79 for qemu-devel@nongnu.org; Mon, 06 Dec 2010 10:10:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PPchk-0003BX-Eg for qemu-devel@nongnu.org; Mon, 06 Dec 2010 10:10:19 -0500 Received: from mx1.redhat.com ([209.132.183.28]:14147) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PPchk-0003Ap-5n for qemu-devel@nongnu.org; Mon, 06 Dec 2010 10:10:16 -0500 Message-ID: <4CFCFCA4.3050805@redhat.com> Date: Mon, 06 Dec 2010 17:09:24 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH 2/3] virtio-pci: Use ioeventfd for virtqueue notify References: <1289483242-6069-1-git-send-email-stefanha@linux.vnet.ibm.com> <1289483242-6069-3-git-send-email-stefanha@linux.vnet.ibm.com> <20101111164518.GA28773@infradead.org> <4CDFBB19.7010702@redhat.com> <4CDFC288.9050800@redhat.com> <4CDFD3BE.8090702@redhat.com> <4CF63FDD.7040901@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Stefan Hajnoczi , kvm@vger.kernel.org, "Michael S. Tsirkin" , qemu-devel@nongnu.org, Christoph Hellwig , Khoa Huynh On 12/01/2010 11:34 PM, Stefan Hajnoczi wrote: > >> The guest CPU utilization numbers include an efficiency metric: %vcpu > >> per MB/sec. Here we see significant improvements too. Guests that > >> previously couldn't get more CPU work done now have regained some > >> breathing space. > > > > Thanks for those numbers. The guest improvements were expected, but the > > host numbers surprised me. Do you have an explanation as to why total host > > load should decrease? > > The first vcpu does virtqueue kick - it holds the guest driver > vblk->lock across kick. Before this kick completes a second vcpu > tries to acquire vblk->lock, finds it is contended, and spins. So > we're burning CPU due to the long vblk->lock hold times. > > With virtio-ioeventfd those kick times are reduced an there is less > contention on vblk->lock. Makes sense. -- error compiling committee.c: too many arguments to function