Hi all, I tried to use Continuous Memory Allocator (CMA) allocated memory for RDMA transfer buffer in userspace, but it failed. For more details, an ibv_reg_mr() API fails when I pass an mmaped memory region of allocated memory by the CMA. The reason why, a CMA mmap function, __dma_mmap_from_coherent(), sets VM_IO and VM_PFNMAP to vma->vm_flags, and an ib_uverbs_reg_mr(), kernel function corresponding to the ibv_reg_mr(), tries to pin the memory region but, it becomes to fail. because VM_IO or VM_PFNMAP regions cannot be pined. As a result, the ibv_reg_mr() returns an error. I think the ib_umem_get() that is called in the ib_uverbs_reg_mr() and pins memories needs some modifications to support RDMA transfer to/from the CMA memory. I’d like to know your comments, ideas, and other solution. Thanks a lot, Shunsuke.