From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Llnjw-0000Qs-3M for qemu-devel@nongnu.org; Mon, 23 Mar 2009 13:15:08 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Llnjr-0000HO-AQ for qemu-devel@nongnu.org; Mon, 23 Mar 2009 13:15:07 -0400 Received: from [199.232.76.173] (port=36777 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Llnjr-0000HJ-4C for qemu-devel@nongnu.org; Mon, 23 Mar 2009 13:15:03 -0400 Received: from qw-out-1920.google.com ([74.125.92.145]:12885) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Llnjq-00068Y-RB for qemu-devel@nongnu.org; Mon, 23 Mar 2009 13:15:02 -0400 Received: by qw-out-1920.google.com with SMTP id 5so946176qwf.4 for ; Mon, 23 Mar 2009 10:15:02 -0700 (PDT) Message-ID: <49C7C392.3030001@codemonkey.ws> Date: Mon, 23 Mar 2009 12:14:58 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH][RFC] Linux AIO support when using O_DIRECT References: <1237823124-6417-1-git-send-email-aliguori@us.ibm.com> <49C7B620.8030203@redhat.com> In-Reply-To: <49C7B620.8030203@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org Avi Kivity wrote: > > Instead of introducing yet another layer of indirection, you could add > block-raw-linux-aio, which would be registered before block-raw-posix > (which is realy block-raw-threadpool...), and resist a ->probe() if > caching is enabled. block-raw-posix needs a major overhaul. That's why I'm not even considering committing the patch as is. I'd like to see the O_DIRECT bounce buffering removed in favor of the DMA API bouncing. Once that happens, raw_read and raw_pread can disappear. block-raw-posix becomes much simpler. We would drop the signaling stuff and have the thread pool use an fd to signal. The big problem with that right now is that it'll cause a performance regression for certain platforms until we have the IO thread in place. Regards, Anthony Liguori