qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC 1/2] pci-dma-api-v1


From: Blue Swirl
Subject: Re: [Qemu-devel] [RFC 1/2] pci-dma-api-v1
Date: Fri, 28 Nov 2008 21:03:06 +0200

On 11/28/08, Andrea Arcangeli <address@hidden> wrote:
> On Fri, Nov 28, 2008 at 07:59:13PM +0200, Blue Swirl wrote:
>  > I don't know, here's a pointer:
>  > http://lists.gnu.org/archive/html/qemu-devel/2008-08/msg00092.html
>
>
> I'm in total agreement with it. The missing "proper vectored AIO
>  operations" are bdrv_aio_readv/writev ;).
>
>  I wonder how can possibly aio_readv/writev be missing in posix aio?
>  Unbelievable. It'd be totally trivial to add those to glibc, much
>  easier infact than to pthread_create by hand, but how can we add a
>  dependency on a certain glibc version? Ironically it'll be more
>  user-friendly to add dependency on linux kernel-aio implementation
>  that is already available for ages and it's guaranteed to run faster
>  (or at least not slower).

There's also lio_listio that provides for vectored AIO.

>  > Sorry, my description seems to have lead you to a totally wrong track.
>  > I meant this scenario: device (Lance Ethernet) -> DMA controller
>  > (MACIO) -> IOMMU -> physical memory. (In this case vectored DMA won't
>  > be useful since there is byte swapping involved, but serves as an
>  > example about generic DMA). At each step the DMA address is rewritten.
>  > It would be nice if the interface between Lance and DMA, DMA and IOMMU
>  > and IOMMU and memory was the same.
>
>
> No problem. So you think I should change it to qemu_dma_sg instead of
>  pci_dma_sg? We can decide it later, but surely we can think about it
>  in the meantime ;).

Yes.

>  > Here's some history, please have a look.
>  >
>  > My first failed attempt:
>  > http://lists.gnu.org/archive/html/qemu-devel/2007-08/msg00179.html
>  >
>  > My second failed rough sketch:
>  > http://lists.gnu.org/archive/html/qemu-devel/2007-10/msg00626.html
>  >
>  > Anthony's version:
>  > http://lists.gnu.org/archive/html/qemu-devel/2008-03/msg00474.html
>  >
>  > Anthony's second version:
>  > http://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00077.html
>
>
> Thanks a lot for the pointers.

Perhaps you could point out why the previous attempts failed, but
yours won't? ;-)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]