[openib-general] [PATCH] mthca: fix registration for giant MRs

Grant Grundler iod00d at hp.com
Wed Jun 1 15:47:29 PDT 2005


On Wed, Jun 01, 2005 at 01:48:33PM -0700, Roland Dreier wrote:
> Here's a patch that allows mthca to break up registration of giant
> userspace MRs into multiple firmware commands.  The net effect of this
> is that there should no longer be any limit (beyond physical memory)
> on the size of MRs that userspace can register.

There is a limit on some platforms: IO Virtual Address (IOVA) space

I'm not worried about it on ia64 platforms since they mostly
direct map for 64-bit devices. Either they have no IOMMU
or 64-bit devices are allowed to bypass the IOMMU.

parisc only has 1GB per IOMMU (and several can be in a system).
Roland also once mentioned a PPC box that also forces everything
through the IOMMU.

The problem is sga_dma_map* functions do not return an error.
One needs to call dma_mapping_error() to verify the IO address
returned was valid. This is a relatively new interface so I
wouldn't expect that many driver writers are not aware of it.
Most don't need to be aware of it since they don't attempt
to map GBs of physical memory at a time.

grant



More information about the general mailing list