i have added dma_map_single() and sent the address i got from that to perform RDMA_READ, now it is not at all generating any completion event and just halting there itself.<br><br>below is the changed code......<br>-----------------------------------------------------------------------------------------------------------------<br>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] = dma_map_single(test->device->dma_device,test->mem,4096,DMA_TO_DEVICE);<br><br>ret = ib_map_phys_fmr(test->fmr,addr_array[0],1,addr_array);<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 not generating any completion event and halting there itself.<br><br>am i missing anything in the process of registering the memory?????<br><br><br>Thanks n regards<br>K.Mahesh<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/