[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