From: Zach Pfeffer <zpfeffer@codeaurora.org>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: joro@8bytes.org, dwalker@codeaurora.org, andi@firstfloor.org,
randy.dunlap@oracle.com, mel@csn.ul.ie, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager
Date: Tue, 13 Jul 2010 05:06:55 -0700 [thread overview]
Message-ID: <20100713120654.GA4263@codeaurora.org> (raw)
In-Reply-To: <20100713145852C.fujita.tomonori@lab.ntt.co.jp>
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@codeaurora.org> 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 */
WARNING: multiple messages have this Message-ID (diff)
From: Zach Pfeffer <zpfeffer@codeaurora.org>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: joro@8bytes.org, dwalker@codeaurora.org, andi@firstfloor.org,
randy.dunlap@oracle.com, mel@csn.ul.ie, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager
Date: Tue, 13 Jul 2010 05:06:55 -0700 [thread overview]
Message-ID: <20100713120654.GA4263@codeaurora.org> (raw)
In-Reply-To: <20100713145852C.fujita.tomonori@lab.ntt.co.jp>
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@codeaurora.org> 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@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: zpfeffer@codeaurora.org (Zach Pfeffer)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager
Date: Tue, 13 Jul 2010 05:06:55 -0700 [thread overview]
Message-ID: <20100713120654.GA4263@codeaurora.org> (raw)
In-Reply-To: <20100713145852C.fujita.tomonori@lab.ntt.co.jp>
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@codeaurora.org> 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 */
next prev parent reply other threads:[~2010-07-13 12:07 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-30 5:55 [RFC 1/3] mm: iommu: An API to unify IOMMU, CPU and device memory management Zach Pfeffer
2010-06-30 5:55 ` Zach Pfeffer
2010-06-30 5:55 ` Zach Pfeffer
2010-06-30 5:55 ` [RFC 2/3] mm: iommu: A physical allocator for the VCMM Zach Pfeffer
2010-06-30 5:55 ` Zach Pfeffer
2010-06-30 5:55 ` Zach Pfeffer
2010-06-30 5:55 ` [RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager Zach Pfeffer
2010-06-30 5:55 ` Zach Pfeffer
2010-06-30 5:55 ` Zach Pfeffer
2010-07-01 17:17 ` Randy Dunlap
2010-07-01 17:17 ` Randy Dunlap
2010-07-01 17:17 ` Randy Dunlap
2010-07-01 18:02 ` Andi Kleen
2010-07-01 18:02 ` Andi Kleen
2010-07-01 18:02 ` Andi Kleen
2010-07-01 19:28 ` Daniel Walker
2010-07-01 19:28 ` Daniel Walker
2010-07-01 19:28 ` Daniel Walker
2010-07-01 19:38 ` Andi Kleen
2010-07-01 19:38 ` Andi Kleen
2010-07-01 19:38 ` Andi Kleen
2010-07-01 19:42 ` Daniel Walker
2010-07-01 19:42 ` Daniel Walker
2010-07-01 19:42 ` Daniel Walker
2010-07-01 22:15 ` Hari Kanigeri
2010-07-01 22:15 ` Hari Kanigeri
2010-07-01 22:15 ` Hari Kanigeri
2010-07-02 7:09 ` Zach Pfeffer
2010-07-02 7:09 ` Zach Pfeffer
2010-07-02 7:09 ` Zach Pfeffer
2010-07-10 14:36 ` Joerg Roedel
2010-07-10 14:36 ` Joerg Roedel
2010-07-10 14:36 ` Joerg Roedel
2010-07-13 5:21 ` Zach Pfeffer
2010-07-13 5:21 ` Zach Pfeffer
2010-07-13 5:21 ` Zach Pfeffer
2010-07-14 19:34 ` Joerg Roedel
2010-07-14 19:34 ` Joerg Roedel
2010-07-14 19:34 ` Joerg Roedel
2010-07-15 1:18 ` Zach Pfeffer
2010-07-15 1:18 ` Zach Pfeffer
2010-07-15 1:18 ` Zach Pfeffer
2010-07-01 22:00 ` Zach Pfeffer
2010-07-01 22:00 ` Zach Pfeffer
2010-07-01 22:00 ` Zach Pfeffer
2010-07-01 22:05 ` Daniel Walker
2010-07-01 22:05 ` Daniel Walker
2010-07-01 22:05 ` Daniel Walker
2010-07-02 7:33 ` Zach Pfeffer
2010-07-02 7:33 ` Zach Pfeffer
2010-07-02 7:33 ` Zach Pfeffer
2010-07-10 14:56 ` Joerg Roedel
2010-07-10 14:56 ` Joerg Roedel
2010-07-10 14:56 ` Joerg Roedel
2010-07-13 5:46 ` Zach Pfeffer
2010-07-13 5:46 ` Zach Pfeffer
2010-07-13 5:46 ` Zach Pfeffer
2010-07-13 5:59 ` FUJITA Tomonori
2010-07-13 5:59 ` FUJITA Tomonori
2010-07-13 5:59 ` FUJITA Tomonori
2010-07-13 8:20 ` Alan Cox
2010-07-13 8:20 ` Alan Cox
2010-07-13 8:20 ` Alan Cox
2010-07-13 8:30 ` FUJITA Tomonori
2010-07-13 8:30 ` FUJITA Tomonori
2010-07-13 8:30 ` FUJITA Tomonori
2010-07-13 8:42 ` Alan Cox
2010-07-13 8:42 ` Alan Cox
2010-07-13 8:42 ` Alan Cox
2010-07-13 8:45 ` FUJITA Tomonori
2010-07-13 8:45 ` FUJITA Tomonori
2010-07-13 8:45 ` FUJITA Tomonori
2010-07-13 9:02 ` Russell King - ARM Linux
2010-07-13 9:02 ` Russell King - ARM Linux
2010-07-13 9:02 ` Russell King - ARM Linux
2010-07-14 1:59 ` FUJITA Tomonori
2010-07-14 1:59 ` FUJITA Tomonori
2010-07-14 1:59 ` FUJITA Tomonori
2010-07-22 3:50 ` Zach Pfeffer
2010-07-22 3:50 ` Zach Pfeffer
2010-07-22 3:50 ` Zach Pfeffer
2010-07-22 4:47 ` FUJITA Tomonori
2010-07-22 4:47 ` FUJITA Tomonori
2010-07-22 4:47 ` FUJITA Tomonori
2010-07-22 16:33 ` Zach Pfeffer
2010-07-22 16:33 ` Zach Pfeffer
2010-07-22 16:33 ` Zach Pfeffer
2010-07-22 7:51 ` Russell King - ARM Linux
2010-07-22 7:51 ` Russell King - ARM Linux
2010-07-22 7:51 ` Russell King - ARM Linux
2010-07-22 16:13 ` Zach Pfeffer
2010-07-22 16:13 ` Zach Pfeffer
2010-07-22 16:13 ` Zach Pfeffer
2010-07-13 12:06 ` Zach Pfeffer [this message]
2010-07-13 12:06 ` Zach Pfeffer
2010-07-13 12:06 ` Zach Pfeffer
2010-07-01 22:51 ` Hari Kanigeri
2010-07-01 22:51 ` Hari Kanigeri
2010-07-01 22:51 ` Hari Kanigeri
2010-07-02 7:29 ` Zach Pfeffer
2010-07-02 7:29 ` Zach Pfeffer
2010-07-01 23:00 ` Andi Kleen
2010-07-01 23:00 ` Andi Kleen
2010-07-01 23:00 ` Andi Kleen
2010-07-02 6:17 ` Zach Pfeffer
2010-07-02 6:17 ` Zach Pfeffer
2010-07-02 6:17 ` Zach Pfeffer
2010-07-02 8:22 ` Andi Kleen
2010-07-02 8:22 ` Andi Kleen
2010-07-02 8:22 ` Andi Kleen
2010-07-02 18:42 ` Zach Pfeffer
2010-07-02 18:42 ` Zach Pfeffer
2010-07-02 18:42 ` Zach Pfeffer
2010-07-10 15:11 ` Joerg Roedel
2010-07-10 15:11 ` Joerg Roedel
2010-07-10 15:11 ` Joerg Roedel
2010-07-13 5:52 ` Zach Pfeffer
2010-07-13 5:52 ` Zach Pfeffer
2010-07-13 5:52 ` Zach Pfeffer
2010-07-03 6:36 ` Zach Pfeffer
2010-07-03 6:36 ` Zach Pfeffer
2010-07-10 14:54 ` Joerg Roedel
2010-07-10 14:54 ` Joerg Roedel
2010-07-10 14:54 ` Joerg Roedel
2010-07-13 5:27 ` Zach Pfeffer
2010-07-13 5:27 ` Zach Pfeffer
2010-07-13 5:27 ` Zach Pfeffer
2010-07-01 20:59 ` Paul Walmsley
2010-07-01 20:59 ` Paul Walmsley
2010-07-01 20:59 ` Paul Walmsley
2010-07-01 21:48 ` Randy Dunlap
2010-07-01 21:48 ` Randy Dunlap
2010-07-01 21:48 ` Randy Dunlap
2010-06-30 23:40 ` [RFC 1/3] mm: iommu: An API to unify IOMMU, CPU and device memory management Randy Dunlap
2010-06-30 23:40 ` Randy Dunlap
2010-06-30 23:40 ` Randy Dunlap
2010-07-01 7:16 ` Zach Pfeffer
2010-07-01 7:16 ` Zach Pfeffer
2010-07-01 7:16 ` Zach Pfeffer
2010-07-02 7:00 ` Paul Mundt
2010-07-02 7:00 ` Paul Mundt
2010-07-02 7:00 ` Paul Mundt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100713120654.GA4263@codeaurora.org \
--to=zpfeffer@codeaurora.org \
--cc=andi@firstfloor.org \
--cc=dwalker@codeaurora.org \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-omap@vger.kernel.org \
--cc=mel@csn.ul.ie \
--cc=randy.dunlap@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.