From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH 3/3] Implement linux-aio backend Date: Fri, 18 Apr 2008 12:09:56 -0300 Message-ID: <20080418150956.GB19341@dmt> References: <1208460412-27567-1-git-send-email-aliguori@us.ibm.com> <1208460412-27567-3-git-send-email-aliguori@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel@lists.sourceforge.net, qemu-devel@nongnu.org To: Anthony Liguori Return-path: Content-Disposition: inline In-Reply-To: <1208460412-27567-3-git-send-email-aliguori@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 Thu, Apr 17, 2008 at 02:26:52PM -0500, Anthony Liguori wrote: > This patch introduces a Linux-aio backend that is disabled by default. To > use this backend effectively, the user should disable caching and select > it with the appropriate -aio option. For instance: > > qemu-system-x86_64 -drive foo.img,cache=off -aio linux > > There's no universal way to asynchronous wait with linux-aio. At some point, > signals were added to signal completion. More recently, and eventfd interface > was added. This patch relies on the later. > > We try hard to detect whether the right support is available in configure to > avoid compile failures. > + do { > + err = io_submit(aio_ctxt_id, 1, iocbs); > + } while (err == -1 && errno == EINTR); > + > + if (err != 1) { > + fprintf(stderr, "failed to submit aio request: %m\n"); > + exit(1); > + } > + > + outstanding_requests++; > + > + return &aiocb->common; > +} > + > +static void la_wait(void) > +{ > + main_loop_wait(10); > +} Sleeping in the context of vcpu's is extremely bad (eg virtio-block blocks in write() throttling which kills performance). It should wait on IO completions instead (qemu-kvm.c creates a pthread "waitqueue" to resolve that issue). Other than that looks fine to me, will give it a try. ------------------------------------------------------------------------- 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