On Mon, 2009-04-27 at 14:32 -0500, Steve Wise wrote: > Clarification: The iova_start isn't used to store dma handles. The > iova_start is the "address" base value that is advertised to a peer to > describe the base address of a memory region. The contents of that can > be more than just a dma handle...its up to the application. For > instance, you could advertise a iova_start of zero or a kernel VA as the > rdma server does. Also, the type is u64 because that is the size used > on the wire as part of the rdma (IB and iWARP) protocols. OK, but my point is we shouldn't be having this discussion at all. I shouldn't be required to know that the wire protocol uses a 64-bit unsigned little-endian/big endian integer in order to use the rdma api. All I should need to know is that I can advertise either dma handles or kernel VAs, and know that I can choose between two functions, say, ib_send_wr_fastreg_dma_init() and ib_send_wr_fastreg_kva_init() to initialise the ib_send_wr structure correctly. Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html