|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [5323] Implement an fd pool to get real AIO with posix-aio |
Date: | Tue, 07 Oct 2008 16:21:12 -0500 |
User-agent: | Thunderbird 2.0.0.17 (X11/20080925) |
Gerd Hoffmann wrote:
Anthony Liguori wrote:Are there plans to support vectored block requests with the thread pool implementation?Yes, that's the primary reason for doing a new thread pool implementation.Cool.Of course, we need a zero-copy DMA API before such a thing would make sense.Hmm, quick check of the IDE code indeed shows a copy happening there. Why is it needed? My xen disk backend doesn't copy data. Does that mean might have done something wrong? Does the virtio backend copy data too?
It does now, because the cost of splitting up the AIO request for each element of the scatter/gather list was considerably higher than the cost of copying the data to a linear buffer.
Look back in qemu-devel for a thread about a DMA API.You can only avoid doing a copy if you do something like phys_ram_base + PA. From an architectural perspective, this is not ideal since it doesn't allow for things like IOMMU emulation. What we need, is a zero-copy API at the PCI level.
Regards, Anthony Liguori
Disclaimer: I don't know much about ide dma ... cheers, Gerd
[Prev in Thread] | Current Thread | [Next in Thread] |