RE: [PATCH RFC] RDMA/core: add rdma_get_dma_mr()

Steve Wise
2015-06-25T21:48:46Z

> -----Original Message-----
> From: Jason Gunthorpe [mailto:jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org]
> Sent: Thursday, June 25, 2015 4:40 PM
> To: Steve Wise
> Cc: sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org; roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org; ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org; sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Subject: Re: [PATCH RFC] RDMA/core: add rdma_get_dma_mr()
>
> On Thu, Jun 25, 2015 at 04:29:17PM -0500, Steve Wise wrote:
>
> > - * ib_dma_mapping_error - check a DMA addr for error
> > + * rdma_mr_roles - possible roles a MR will be used for
> > + *
> > + * This allows a transport independent RDMA application to
> > + * create MRs that are usable for all the desired roles w/o
> > + * having to understand which access rights are needed.
> > + */
> > +enum rdma_mr_roles {
> > + RDMA_MRR_RECV = 1,
> > + RDMA_MRR_SEND = (1<<1),
> > + RDMA_MRR_READ_SOURCE = (1<<2),
> > + RDMA_MRR_READ_SINK = (1<<3),
> > + RDMA_MRR_WRITE_SOURCE = (1<<4),
> > + RDMA_MRR_WRITE_SINK = (1<<5),
> > + RDMA_MRR_ATOMIC = (1<<6),
> > + RDMA_MRR_MW_BIND = (1<<7),
> > + RDMA_MRR_ZERO_BASED = (1<<8),
> > + RDMA_MRR_ACCESS_ON_DEMAND = (1<<9),
>
> So we don't have this problem again, it would be best to explicitly
> list exactly which ib_wc_opcode members what use a RKEY are matched to
> which MMR flags
>
> RDMA_MRR_RECV
> LOCAL: post to receive work queue
> RDMA_MRR_READ_SOURCE
> LOCAL: post IB_WC_RDMA_READ to send work queue
> RDMA_MRR_READ_SINK
> REMOTE: respond to IB_WC_RDMA_READ
> [..]
>
> Seems reasonable to me otherwise
>

Good idea.

Thanks for the reviews!

Steve.