From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] [PATCH][RFC] Linux AIO support when using O_DIRECT Date: Mon, 23 Mar 2009 12:14:58 -0500 Message-ID: <49C7C392.3030001@codemonkey.ws> References: <1237823124-6417-1-git-send-email-aliguori@us.ibm.com> <49C7B620.8030203@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from qw-out-2122.google.com ([74.125.92.26]:46923 "EHLO qw-out-2122.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754411AbZCWRPF (ORCPT ); Mon, 23 Mar 2009 13:15:05 -0400 Received: by qw-out-2122.google.com with SMTP id 8so1826811qwh.37 for ; Mon, 23 Mar 2009 10:15:02 -0700 (PDT) In-Reply-To: <49C7B620.8030203@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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