|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] Re: [RFC 1/1] pci-dma-api-v2 |
Date: | Sun, 30 Nov 2008 16:54:59 -0600 |
User-agent: | Thunderbird 2.0.0.17 (X11/20080925) |
Blue Swirl wrote:
On 11/30/08, Andrea Arcangeli <address@hidden> wrote:On Sun, Nov 30, 2008 at 09:11:28PM +0200, Blue Swirl wrote: > Yes, this version (attached) works. Ok great! ;)This looks promising. Maybe the previous attempts tried to solve several problems at once, like the complex address translation schemes I have in mind, in addition to the basic zero-copy DMA transfer.This version leaves the DMA address translation to the caller and operates using physical memory addresses. Another way would be to use directly host pointers.
I'm happy to separate address translation from just zero-copy IO. I agree that a lot of the complexity is introduced trying to solve everything.
For me, just extending the BlockDriver API is a problem. I'd like to see the API properly structured around a single vector API. This is independent of zero copy.
I also think that in the very least, a DMA must be encapsulated in a structure, that has functions to pin()/unpin() that generate bounce buffers as necessary.
I think it's probably a good idea to separate a basic DMA api from a PCI DMA api.
Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |