From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] Re: [PATCH 0/3] Refactor AIO to allow multiple AIO implementations Date: Tue, 23 Sep 2008 11:09:34 -0500 Message-ID: <48D914BE.6040004@us.ibm.com> References: <1222125454-21744-1-git-send-email-ryanh@us.ibm.com> <48D86361.4000405@us.ibm.com> <20080923144319.GM31395@us.ibm.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: Ryan Harper Return-path: Received: from e33.co.us.ibm.com ([32.97.110.151]:57853 "EHLO e33.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751196AbYIWQKf (ORCPT ); Tue, 23 Sep 2008 12:10:35 -0400 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e33.co.us.ibm.com (8.13.8/8.13.8) with ESMTP id m8NGAZj4029191 for ; Tue, 23 Sep 2008 12:10:35 -0400 Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id m8NGAYx1206960 for ; Tue, 23 Sep 2008 10:10:34 -0600 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m8NGAV94023562 for ; Tue, 23 Sep 2008 10:10:33 -0600 In-Reply-To: <20080923144319.GM31395@us.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: Ryan Harper wrote: > * Anthony Liguori [2008-09-22 22:44]: > >> Can you run the same performance tests with the following patches (using >> sync=on instead of cache=off)? >> >> You'll need my aio_init fix too. I suspect this will give equally good >> performance to your patch set. That's not saying your patch set isn't >> useful, but I would like to get performance to be better for the case >> that we're going through the page cache. >> > > I can run the test, but it is orthogonal to the patchset which is > focused on using O_DIRECT and linux-aio. > Actually, I'm now much more interested in using the fd_pool patch with cache=off. Using it with the sync=on patch is interesting but I'm curious how close fd_poll + cache=off gets to linux-aio + cache=off. Supporting linux-aio is going to be a royal pain. I don't know how we can do a runtime probe of whether we support resfd or not. A build time probe is going to be lame because we'll be relying on the glibc headers. Plus, I'm really, really interested in avoiding the association of cache=off == better performance. In theory, the dup() + posix-aio should do okay compared to a custom thread pool. It should have slightly higher latency, but completion time should be pretty close. That would let us hold off supporting a thread pool until we're ready to do zero-copy IO (which is the only argument for a thread pool verses posix-aio). Regards, Anthony Liguori