From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JmZzM-0001C6-7R for qemu-devel@nongnu.org; Thu, 17 Apr 2008 15:41:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JmZzK-0001AZ-PA for qemu-devel@nongnu.org; Thu, 17 Apr 2008 15:41:43 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JmZzJ-00019n-Mn for qemu-devel@nongnu.org; Thu, 17 Apr 2008 15:41:41 -0400 Received: from e31.co.us.ibm.com ([32.97.110.149]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JmZzJ-0005aC-21 for qemu-devel@nongnu.org; Thu, 17 Apr 2008 15:41:41 -0400 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e31.co.us.ibm.com (8.13.8/8.13.8) with ESMTP id m3HJfXLR005260 for ; Thu, 17 Apr 2008 15:41:33 -0400 Received: from d03av03.boulder.ibm.com (d03av03.boulder.ibm.com [9.17.195.169]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v8.7) with ESMTP id m3HJfX6C161944 for ; Thu, 17 Apr 2008 13:41:33 -0600 Received: from d03av03.boulder.ibm.com (loopback [127.0.0.1]) by d03av03.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m3HJfW5O026879 for ; Thu, 17 Apr 2008 13:41:33 -0600 Message-ID: <4807A7EC.6040408@us.ibm.com> Date: Thu, 17 Apr 2008 14:41:32 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1208460412-27567-1-git-send-email-aliguori@us.ibm.com> <20080417193807.GB11916@redhat.com> In-Reply-To: <20080417193807.GB11916@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [kvm-devel] [PATCH 1/3] Refactor AIO interface to allow other AIO implementations Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: kvm-devel@lists.sourceforge.net, Marcelo Tosatti , qemu-devel@nongnu.org Daniel P. Berrange wrote: > On Thu, Apr 17, 2008 at 02:26:50PM -0500, Anthony Liguori wrote: > >> Posix AIO, especially as used by QEMU, is not very efficient for disk IO. >> This patch introduces an AIO abstract to allow multiple AIO implements to be >> used. We can't simply replace posix-aio by linux-aio because linux-aio only >> works on some filesystems and only with files opened with O_DIRECT. >> >> This patch adds a command line option (-aio) to select the AIO implementation >> to be used. It avoids code motion to allow for easy review. The next patch >> separates out the posix-aio implementation. >> > > This is not a very pleasant user experiance. They can not & should not be > expected to figure out which AIO impl works with their particular filesystem. > If the linux-aio impl doesn't work in some cases, then the code should detect > these and automatically fallback to posix-aio. The user should not have to > use a -aio flag to make it work. > Those cases aren't always discoverable. Linux-aio just falls back to using synchronous IO. It's pretty terrible. We need a new AIO interface for Linux (and yes, we're working on this). Once we have something better, we'll change that to be the default and things will Just Work for most users. Regards, Anthony Liguori > Dan. >