From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MiQX7-00040h-Ae for qemu-devel@nongnu.org; Tue, 01 Sep 2009 06:24:13 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MiQX1-0003yR-Us for qemu-devel@nongnu.org; Tue, 01 Sep 2009 06:24:12 -0400 Received: from [199.232.76.173] (port=50987 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MiQX1-0003yB-JD for qemu-devel@nongnu.org; Tue, 01 Sep 2009 06:24:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:63130) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MiQX1-00081y-2k for qemu-devel@nongnu.org; Tue, 01 Sep 2009 06:24:07 -0400 Message-ID: <4A9CF642.5070904@redhat.com> Date: Tue, 01 Sep 2009 13:24:02 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 3/4] block: add bdrv_aio_flush operation References: <20090831201627.GA4811@lst.de> <20090831201730.GC4874@lst.de> In-Reply-To: <20090831201730.GC4874@lst.de> 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: Christoph Hellwig Cc: qemu-devel@nongnu.org On 08/31/2009 11:17 PM, Christoph Hellwig wrote: > Instead stalling the VCPU while serving a cache flush try to do it > asynchronously. Use our good old helper thread pool to issue an > asynchronous fdatasync for raw-posix. Note that while Linux AIO > implements a fdatasync operation it is not useful for us because > it isn't actually implement in asynchronous fashion. > > Doesn't aio_flush() need to wait for all previously issued requests to complete? We can require callers to do that, but it seems quite a burden. > For now only use it in IDE because virtio-blk doesn't implement > cache flusing yet (will be fixed in patch 4/4) and the interface between > the HBA emulation and scsi-disk will need some changes to accomodate > it for scsi (will be a separate patch series). > IDE integration should be in a separate patch. Patch has some tabs. -- error compiling committee.c: too many arguments to function