From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NULGg-0004C9-Uy for qemu-devel@nongnu.org; Mon, 11 Jan 2010 09:29:18 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NULGa-000494-SD for qemu-devel@nongnu.org; Mon, 11 Jan 2010 09:29:17 -0500 Received: from [199.232.76.173] (port=45561 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NULGa-000491-Os for qemu-devel@nongnu.org; Mon, 11 Jan 2010 09:29:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:16510) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NULGa-00033B-0y for qemu-devel@nongnu.org; Mon, 11 Jan 2010 09:29:12 -0500 Message-ID: <4B4B35AF.3010706@redhat.com> Date: Mon, 11 Jan 2010 16:29:03 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [RFC][PATCH] performance improvement for windows guests, running on top of virtio block device References: <1263195647.2005.44.camel@localhost> <4B4AE1BD.4000400@redhat.com> <20100111134248.GA25622@lst.de> <4B4B2C5F.7050403@codemonkey.ws> In-Reply-To: <4B4B2C5F.7050403@codemonkey.ws> 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: Anthony Liguori Cc: qemu-devel , Dor Laor , Christoph Hellwig , Vadim Rozenfeld On 01/11/2010 03:49 PM, Anthony Liguori wrote: >> So instead of disabling notify while requests are active we might want >> to only disable it while we are inside virtio_blk_handle_output. >> Something like the following minimally tested patch: > > > I'd suggest that we get even more aggressive and install an idle > bottom half that checks the queue for newly submitted requests. If we > keep getting requests submitted before a new one completes, we'll > never take an I/O exit. > That has the downside of bouncing a cache line on unrelated exits. It probably doesn't matter with qemu as it is now, since it will bounce qemu_mutex, but it will hurt with large guests (especially if they have many rings). IMO we should get things to work well without riding on unrelated exits, especially as we're trying to reduce those exits. > The same approach is probably a good idea for virtio-net. With vhost-net you don't see exits. -- error compiling committee.c: too many arguments to function