From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LVBjt-0008Po-L1 for qemu-devel@nongnu.org; Thu, 05 Feb 2009 16:26:25 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LVBjr-0008PZ-5R for qemu-devel@nongnu.org; Thu, 05 Feb 2009 16:26:25 -0500 Received: from [199.232.76.173] (port=38287 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LVBjr-0008PW-1Z for qemu-devel@nongnu.org; Thu, 05 Feb 2009 16:26:23 -0500 Received: from e35.co.us.ibm.com ([32.97.110.153]:46076) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LVBjq-0005w7-Hk for qemu-devel@nongnu.org; Thu, 05 Feb 2009 16:26:22 -0500 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e35.co.us.ibm.com (8.13.1/8.13.1) with ESMTP id n15LN1K9008557 for ; Thu, 5 Feb 2009 14:23:01 -0700 Received: from d03av01.boulder.ibm.com (d03av01.boulder.ibm.com [9.17.195.167]) by d03relay04.boulder.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id n15LQDa3213228 for ; Thu, 5 Feb 2009 14:26:13 -0700 Received: from d03av01.boulder.ibm.com (loopback [127.0.0.1]) by d03av01.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n15LQDiH024187 for ; Thu, 5 Feb 2009 14:26:13 -0700 Message-ID: <498B5962.2010202@us.ibm.com> Date: Thu, 05 Feb 2009 15:25:54 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1233826439-16856-1-git-send-email-avi@redhat.com> In-Reply-To: <1233826439-16856-1-git-send-email-avi@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH 0/4] Block DMA helpers (v2) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: qemu-devel@nongnu.org Avi Kivity wrote: > The current dma mapping API is fairly complex to use: mapping can fail > when bounce resources are exhausted, requiring the caller to reschedule, > and the interface is fairly low level. > > This patchset introduces block device oriented helpers to centralize this > logic. Devices need only submit a scatter/gather list, and the helpers > will do all the dirty work of mapping, rescheduling, and unmapping. IDE > has been converted to the new API. > Applied all. Thanks. BTW, what are your plans for virtio? I'd reckon that just trying to map the full SG list and failing gracefully if unable would be sufficient. You could also convert the element to contain a QEMUSGList and then make use of the IO helpers in virtio-blk and virtio-net. It just gets a little funky for simpler things like virtio-console and virtio-balloon. Regards, Anthony Liguori