From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [RFC] Multiple QEMU AIO implementations Date: Wed, 16 Apr 2008 20:52:20 -0300 Message-ID: <20080416235220.GB4869@dmt> References: <4806716A.70504@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm-devel , Avi Kivity To: Anthony Liguori Return-path: Content-Disposition: inline In-Reply-To: <4806716A.70504@us.ibm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces@lists.sourceforge.net Errors-To: kvm-devel-bounces@lists.sourceforge.net List-Id: kvm.vger.kernel.org On Wed, Apr 16, 2008 at 04:36:42PM -0500, Anthony Liguori wrote: > This isn't fully cooked yet, but pretty close. The basic idea is to > make the aio usage in block-raw go to a set of function pointers and > allow multiple simultaneous AIO implementations. The AIO API looks great. Looking forward to a linux-aio backend. > I converted the posix-aio support to this, and also introduced a "unix" > aio which just uses O_NONBLOCK and select(). The later only supports 1 > simultaneous request per-fd but currently posix-aio is limited to that > too. At least with my QEMU testing, the unix aio implementation > outperforms posix-aio by a factor of 2. Unfortunately O_NONBLOCK is not honoured for block backed storage, so its a no-go. > And it uses no signals... > > I'm inclined to suggest that we use signalfd with posix-aio, and for > older guests, just fall back to unix aio. We can also introduce a > linux-aio and use that when possible. I think Avi's suggestion to emulate signalfd with a separate thread which does sigtimedwait+write-to-a-pipe is sensate. ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone