linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Zach Pfeffer <zpfeffer@codeaurora.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: Daniel Walker <dwalker@codeaurora.org>,
	Randy Dunlap <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@jasper.es
Subject: Re: [RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager
Date: Fri, 02 Jul 2010 23:36:28 -0700	[thread overview]
Message-ID: <4C2EDA6C.7030405@codeaurora.org> (raw)
In-Reply-To: <20100701230056.GD3594@basil.fritz.box>

Andi Kleen wrote:
> The standard Linux approach to such a problem is to write
> a library that drivers can use for common functionality, not put a middle 
> layer inbetween. Libraries are much more flexible than layers.

I've been thinking about this statement. Its very true. I use the
genalloc lib which is a great piece of software to manage VCMs
(domains in linux/iommu.h parlance?).

On our hardware we have 3 things we have to do, use the minimum set of
mappings to map a buffer because of the extremely small TLBs in all the
IOMMUs we have to support, use special virtual alignments and direct
various multimedia flows through certain IOMMUs. To support this we:

1. Use the genalloc lib to allocate virtual space for our IOMMUs,
allowing virtual alignment to be specified.

2. Have a maxmunch allocator that manages our own physical pool.

I think I may be able to support this using the iommu interface and
some util functions. The big thing that's lost is the unified topology
management, but as demonstrated that may fall out from a refactor.

Anyhow, sounds like a few things to try. Thanks for the feedback so
far. I'll do some refactoring and see what's missing.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

--
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>

  parent reply	other threads:[~2010-07-03  6:36 UTC|newest]

Thread overview: 48+ 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 ` [RFC 2/3] mm: iommu: A physical allocator for the VCMM Zach Pfeffer
2010-06-30  5:55 ` [RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager Zach Pfeffer
2010-07-01 17:17   ` Randy Dunlap
2010-07-01 18:02     ` Andi Kleen
2010-07-01 19:28       ` Daniel Walker
2010-07-01 19:38         ` Andi Kleen
2010-07-01 19:42           ` Daniel Walker
2010-07-01 22:15             ` Hari Kanigeri
2010-07-02  7:09               ` Zach Pfeffer
2010-07-10 14:36                 ` Joerg Roedel
2010-07-13  5:21                   ` Zach Pfeffer
2010-07-14 19:34                     ` Joerg Roedel
2010-07-15  1:18                       ` Zach Pfeffer
2010-07-01 22:00           ` Zach Pfeffer
2010-07-01 22:05             ` Daniel Walker
2010-07-02  7:33               ` Zach Pfeffer
2010-07-10 14:56                 ` Joerg Roedel
2010-07-13  5:46                   ` Zach Pfeffer
2010-07-13  5:59                     ` FUJITA Tomonori
2010-07-13  8:20                       ` Alan Cox
2010-07-13  8:30                         ` FUJITA Tomonori
2010-07-13  8:42                           ` Alan Cox
2010-07-13  8:45                             ` FUJITA Tomonori
2010-07-13  9:02                               ` Russell King - ARM Linux
2010-07-14  1:59                                 ` FUJITA Tomonori
2010-07-22  3:50                                   ` Zach Pfeffer
2010-07-22  4:47                                     ` FUJITA Tomonori
2010-07-22 16:33                                       ` Zach Pfeffer
2010-07-22  7:51                                     ` Russell King - ARM Linux
2010-07-22 16:13                                       ` Zach Pfeffer
2010-07-13 12:06                       ` Zach Pfeffer
2010-07-01 22:51             ` Hari Kanigeri
2010-07-02  7:29               ` Zach Pfeffer
2010-07-01 23:00             ` Andi Kleen
2010-07-02  6:17               ` Zach Pfeffer
2010-07-02  8:22                 ` Andi Kleen
2010-07-02 18:42                   ` Zach Pfeffer
2010-07-10 15:11                 ` Joerg Roedel
2010-07-13  5:52                   ` Zach Pfeffer
2010-07-03  6:36               ` Zach Pfeffer [this message]
2010-07-10 14:54             ` Joerg Roedel
2010-07-13  5:27               ` Zach Pfeffer
2010-07-01 20:59     ` Paul Walmsley
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-07-01  7:16   ` Zach Pfeffer
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=4C2EDA6C.7030405@codeaurora.org \
    --to=zpfeffer@codeaurora.org \
    --cc=andi@firstfloor.org \
    --cc=dwalker@codeaurora.org \
    --cc=linux-arm-kernel@jasper.es \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).