below is the changed code......
-----------------------------------------------------------------------------------------------------------------
i am trying to develop a kernel utility to perform RDMA read/write operations
i am facing a problem with memory regiatration in it.
my code looks like.........
u64 *addr_array;
addr_array = kmalloc(sizeof(u64),GFP_KERNEL);
//i am using only one page buffer
test->mem = kmalloc(4096,GFP_KERNEL);
// buffer on which RDMA_READ is to be performed
test->fmr = ib_alloc_fmr(test->pd,IB_ACCESS_LOCAL_WRITE |
IB_ACCESS_REMOTE_READ |
IB_ACCESS_REMOTE_WRITE,
fmr_attr); //fmr_attr is intialised properly
addr_array[0] = dma_map_single(test->device->dma_device,test->mem,4096,DMA_TO_DEVICE);
ret = ib_map_phys_fmr(test->fmr,addr_array[0],1,addr_array);
All these operations are not generating any errors
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.
am i missing anything in the process of registering the memory?????
Thanks n regards
K.Mahesh
Send instant messages to your online friends http://in.messenger.yahoo.com
Stay connected with your friends even when away from PC. Link: http://in.mobile.yahoo.com/new/messenger/
_______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
