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

James Lentini jlentini at netapp.com
Thu Dec 8 08:05:48 PST 2005


ian> Hi James,
ian> As is known to all, there several memory types uesed for memory
ian> register in kDAPL. I have some questions about the types
ian> DAT_MEM_TYPE_PHYSICAL and DAT_MEM_TYPE_IA:

ian> 1) Could memory allocated by kmem_cache_create() be OK?
ian> AFAIK, memory allocated by kmalloc() is OK and that by vmalloc()
ian> is not. 

Correct, assuming you pass kmalloc the GFP_DMA flag.

ian> What about that allocated by kmem_cache_create()? Is it
ian> OK in the condition that the SLAB_CACHE_DMA flag is used?

Yes.

ian> 2) What is the difference between DAT_MEM_TYPE_PHYSICAL and
ian> DAT_MEM_TYPE_IA when a continuous range of physical memory is to
ian> be registered?
ian> In my opinion, the continuous range should be tranlated into a
ian> serious of page addresses before registered as the
ian> DAT_MEM_TYPE_PHYSICAL type, 

correct

ian> and it's not necessary for the DAT_MEM_TYPE_IA type. Is the
ian> translation is done in the dat_lmr_kcreate() for the
ian> DAT_MEM_TYPE_IA type?

No translation is done in dat_lmr_kcreate for DAT_MEM_TYPE_IA. A
DAT_MEM_TYPE_IA address is supposed to be an I/O address that the
adapter can use.



More information about the general mailing list