[openib-general] Re: [kDAPL]questions about the LMR creation of different types of memory

Grant Grundler iod00d at hp.com
Fri Dec 16 10:03:38 PST 2005


On Fri, Dec 16, 2005 at 09:38:51AM -0500, James Lentini wrote:
> ian> Question 1: How to distinguish a address that the adapter can use 
> ian> from that the adapter cannot use? Could you give an example? I am 
> ian> really not very familiar with the I/O address details.
> 
> Take a look at Documentation/IO-mapping.txt in the Linux source tree.

While IO-mapping.txt gives a nice introduction into the topic
of "bus addresses", the answer to the question lies in
Documentation/DMA-API.txt. IO devices can only use "bus addresses"
that are handed back by the interfaces described in DMA-API.txt.
For OpenIB, ULPs (e.g. SDP or IPoIB) are responsible for properly
mapping and unmapping for DMA use.

While many architectures don't use IOMMU (and thus have 1:1
between host physical:bus address), virtualization seems to be
forcing the issue in the "near" future. All DMA access will need
to be enforced to isolate virtualized guests. This is something
some platforms with IOMMUs enforce today (e.g. Sparc64, PPC64 and PA-RISC).

hth,
grant



More information about the general mailing list