<div>Hi,</div>
<div> </div>
<div>A general doubt.</div>
<div> </div>
<div>If I write a kernel program (linux kernel module) to send and receive data using IB, will it perform better then its user mode counterpart. Unlike user mode, in  kernel mode, I think it is possible to allocate physically contiguous memory using "kmalloc or alloc_pages" which means HCAs need not do any address translation (
i.e. no need of page table lookup as I guess in this case virtual address and physical address will differ only by a fixed offset) for copying data into main memory. Besides I think traditional DMAs give better performance with contiguous memory and use a special GFP_DMA zone. Moreover polling a CQ may be more efficient in kernel. Is this correct?
</div>
<div> </div>
<div>Regards,</div>
<div>John T.</div>