Re: [PATCH 2.6.30] xprtrdma: The frmr iova_start values are truncated by the nfs rdma client.

Trond Myklebust
2009-04-27T20:47:01Z

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