From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JnfEv-0007TT-67 for qemu-devel@nongnu.org; Sun, 20 Apr 2008 15:30:17 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JnfEq-0007Pj-Em for qemu-devel@nongnu.org; Sun, 20 Apr 2008 15:30:16 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JnfEq-0007PS-7r for qemu-devel@nongnu.org; Sun, 20 Apr 2008 15:30:12 -0400 Received: from e4.ny.us.ibm.com ([32.97.182.144]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JnfEp-0005d2-Ux for qemu-devel@nongnu.org; Sun, 20 Apr 2008 15:30:12 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e4.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id m3KJU7HA022994 for ; Sun, 20 Apr 2008 15:30:07 -0400 Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v8.7) with ESMTP id m3KJU7rI234904 for ; Sun, 20 Apr 2008 15:30:07 -0400 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m3KJTuTe014316 for ; Sun, 20 Apr 2008 15:29:57 -0400 Message-ID: <480B99A7.5050207@us.ibm.com> Date: Sun, 20 Apr 2008 14:29:43 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [kvm-devel] [Qemu-devel] [PATCH 1/5] PCI DMA API (v3) References: <1208297491-1287-1-git-send-email-aliguori@us.ibm.com> <4806596C.4090107@us.ibm.com> <4807ADA7.7000500@us.ibm.com> <480A4FDA.3070706@codemonkey.ws> In-Reply-To: Content-Type: text/plain; charset=UTF-8; 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: Blue Swirl Cc: kvm-devel@lists.sourceforge.net, Marcelo Tosatti , qemu-devel@nongnu.org, Aurelien Jarno , Paul Brook Blue Swirl wrote: > On 4/19/08, Anthony Liguori wrote: > > Well, the IOVector part and bdrv_readv look OK, except for the heavy > mallocing involved. > I don't think that in practice, malloc is going to have any sort of performance impact. If it does, it's easy enough to implement a small object allocator for common, small vector sizes. > I'm not so sure about the DMA side and how everything fits together > for zero-copy IO. For example, do we still need explicit translation > at some point? I'm thinking that zero copy will be implemented by setting the map and unmap functions to NULL by default (instead of to the PCI read/write functions). Then the bus can decide whether copy functions are needed. I'll send an updated patch series tomorrow that includes this functionality. Regards, Anthony Liguori