From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1F4RQS-00080S-0K for qemu-devel@nongnu.org; Wed, 01 Feb 2006 18:30:12 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1F4RQO-0007yp-Ga for qemu-devel@nongnu.org; Wed, 01 Feb 2006 18:30:08 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1F4RQN-0007y3-F6 for qemu-devel@nongnu.org; Wed, 01 Feb 2006 18:30:07 -0500 Received: from [84.96.92.56] (helo=smTp.neuf.fr) by monty-python.gnu.org with esmtp (Exim 4.52) id 1F4RP6-0008CB-UO for qemu-devel@nongnu.org; Wed, 01 Feb 2006 18:28:49 -0500 Received: from [84.102.211.198] by sp604003mt.gpm.neuf.ld (Sun Java System Messaging Server 6.2-4.03 (built Sep 22 2005)) with ESMTP id <0IU100E967SUVMU0@sp604003mt.gpm.neuf.ld> for qemu-devel@nongnu.org; Thu, 02 Feb 2006 00:26:54 +0100 (CET) Date: Thu, 02 Feb 2006 00:29:21 +0100 From: Fabrice Bellard Subject: Re: [Qemu-devel] [PATCH] A simple way to DMA (and async. IO) to make win2003 happy In-reply-to: <200602011138.08640.info@j-pfennig.de> Message-id: <43E14451.5050904@bellard.org> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii; format=flowed Content-transfer-encoding: 7BIT References: <200602011138.08640.info@j-pfennig.de> 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 Juergen Pfennig wrote: > Hello ... > > Please note: I will send the Async IO stuff later, see below. > > This Patch: Here is a very simple patch to ide.c that does not change > the controller type and that lets an existing win2003 in- > stallation use multi-sector IO and/or DMA. > [...] I just merged a more complete patch from Jens Axboe. Does it give acceptable performance in win2003 ? > (3) My way to async IO is different, read below. The implementation > does async read and write. My plans are to make the SDL async too. > > (4) The async IO layer integrates well with Fabrice Bellard's IOHandlers. > In fact vl.c needs no modifications, the code uses a pipe to signal > that IO got ready. The modifications on the block driver layer are > minimal. > > To say this again: the async IO stuff itself is about 600 lines of code > (in one file) but it needs several small changes in qemu. Here are some > fake definitions that you might help you to get a first impression: So there are two async I/O patches now :-) I am more interested by these patches now because I want to improve the performance to match (or exceed !) the performance of the other virtualizers. I have at least 5 items on my TODO list : 1) New kqemu which virtualizes both user and kernel code (currently in alpha stage but not released yet). 2) DMA block I/O (merged) 3) async block I/O (not merged yet) 4) Network adapter using DMA (not merged yet) 5) VGA acceleration (either improve Cirrus VGA or switch back to Bochs VGA for Win 2000/XP or Linux) Fabrice.