i am trying to develop a kernel utility to perform RDMA read/write operations<br>i am facing a problem with memory regiatration in it.<br><br>my code looks like.........<br><br>u64 *addr_array;<br><br>addr_array = kmalloc(sizeof(u64),GFP_KERNEL); <br> //i am using only one page buffer<br><br>test->mem = kmalloc(4096,GFP_KERNEL);<br> // buffer on which RDMA_READ is to be performed<br><br>test->fmr = ib_alloc_fmr(test->pd,IB_ACCESS_LOCAL_WRITE |<br> IB_ACCESS_REMOTE_READ
|<br> IB_ACCESS_REMOTE_WRITE,<br> fmr_attr); //fmr_attr is intialised properly<br><br>addr_array[0] = virt_to_phys(test->mem) ;<br>ret = ib_map_phys_fmr(test->fmr,addr_array[0],1,(u64)test->mem);<br><br><br>All these operations are not generating any errors<br>But when i pass this address (addr_array[0]) as the remote address, the RDMA_READ operation on this address is generating IB_WC_REM_ACCESS_ERROR completion.<br><br>am i missing anything in the process of registering the memory?????<br><br><br>Thanks n regards<br>K.Mahesh<br><p> Send
instant messages to your online friends http://in.messenger.yahoo.com <br><br> Stay connected with your friends even when away from PC. Link: http://in.mobile.yahoo.com/new/messenger/