Trond Myklebust wrote:
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.
I hear ya.
--
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