From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lo28M-0005mz-OU for qemu-devel@nongnu.org; Sun, 29 Mar 2009 17:01:34 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lo28I-0005ll-7v for qemu-devel@nongnu.org; Sun, 29 Mar 2009 17:01:34 -0400 Received: from [199.232.76.173] (port=46408 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lo28I-0005li-2Q for qemu-devel@nongnu.org; Sun, 29 Mar 2009 17:01:30 -0400 Received: from yw-out-1718.google.com ([74.125.46.158]:8914) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lo28H-00036s-Km for qemu-devel@nongnu.org; Sun, 29 Mar 2009 17:01:29 -0400 Received: by yw-out-1718.google.com with SMTP id 9so1048561ywk.82 for ; Sun, 29 Mar 2009 14:01:28 -0700 (PDT) Message-ID: <49CFE1A6.90509@codemonkey.ws> Date: Sun, 29 Mar 2009 16:01:26 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 3/5] push down vector linearization to posix-aio-compat.c References: <20090329195346.GA625@lst.de> <20090329195452.GC1215@lst.de> In-Reply-To: <20090329195452.GC1215@lst.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Christoph Hellwig Christoph Hellwig wrote: > Make all AIO requests vectored and defer linearization until the actual > I/O thread. This prepares for using native preadv/pwritev. > > Also enables asynchronous direct I/O by handling that case in the I/O thread. > > Win32 support is untested and uncompiled. Then again I can't even find > a know to turn on win32 aio support. > It compiles for win32 but it breaks at this patch. Win32 doesn't actually support AIO. The code that's in #ifdefs has been dead for a long time. I just committed a patch to remove it to avoid future confusion. For the future, you can build/test win32 entirely in fedora by using the mingw32 packages and wine. This bug is not limited to win32 though. It has to do with having a backend disk format that does not provide a proper aio implement (which suggests your new brv_aio_{readv,writev}_em at fault). You can reproduce on a normal Linux build by converting an existing image to a format like vmdk and then testing with that. It's not 100% reliable but 9 times out of 10 I don't get past the grub loader with this patch applied. Regards, Anthony Liguori > Qcow and qcow2 propably want to be adopted to directly deal with multi-segment > requests, but that can be implemented later. > > > Signed-off-by: Christoph Hellwig >