[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel]  Implement an fd pool to get real AIO with posix-
Re: [Qemu-devel]  Implement an fd pool to get real AIO with posix-aio
Tue, 07 Oct 2008 16:21:12 -0500
Thunderbird 22.214.171.124 (X11/20080925)
Gerd Hoffmann wrote:
Anthony Liguori wrote:
Are there plans to support vectored block requests with the thread pool
Yes, that's the primary reason for doing a new thread pool
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
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.
Disclaimer: I don't know much about ide dma ...