Re: [RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager

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

 



On Tue, Jul 13, 2010 at 02:59:08PM +0900, FUJITA Tomonori wrote:
> On Mon, 12 Jul 2010 22:46:59 -0700
> Zach Pfeffer <zpfeffer@xxxxxxxxxxxxxx> wrote:
> 
> > Joerg Roedel wrote:
> > > On Fri, Jul 02, 2010 at 12:33:51AM -0700, Zach Pfeffer wrote:
> > >> Daniel Walker wrote:
> > > 
> > >>> So if we include this code which "map implementations" could you
> > >>> collapse into this implementations ? Generally , what currently existing
> > >>> code can VCMM help to eliminate?
> > >> In theory, it can eliminate all code the interoperates between IOMMU,
> > >> CPU and non-IOMMU based devices and all the mapping code, alignment,
> > >> mapping attribute and special block size support that's been
> > >> implemented.
> > > 
> > > Thats a very abstract statement. Can you point to particular code files
> > > and give a rough sketch how it could be improved using VCMM?
> > 
> > I can. Not to single out a particular subsystem, but the video4linux
> > code contains interoperation code to abstract the difference between
> > sg buffers, vmalloc buffers and physically contiguous buffers. The
> > VCMM is an attempt to provide a framework where these and all the
> > other buffer types can be unified.
> 
> Why video4linux can't use the DMA API? Doing DMA with vmalloc'ed
> buffers is a thing that we should avoid (there are some exceptions
> like xfs though).

I'm not sure, but I know that it makes the distinction. From
video4linux/videobuf:

    <media/videobuf-dma-sg.h>           /* Physically scattered */              
    <media/videobuf-vmalloc.h>          /* vmalloc() buffers    */              
    <media/videobuf-dma-contig.h>       /* Physically contiguous */

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]