Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe9053b3 authored by Tom Talpey's avatar Tom Talpey Committed by Trond Myklebust
Browse files

RPC/RDMA: add data types and new FRMR memory registration enum.



Internal RPC/RDMA structure updates in preparation for FRMR support.

Signed-off-by: default avatarTom Talpey <talpey@netapp.com>
Acked-by: default avatarTom Tucker <tom@opengridcomputing.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 8d4ba034
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ enum rpcrdma_memreg {
	RPCRDMA_MEMWINDOWS,
	RPCRDMA_MEMWINDOWS_ASYNC,
	RPCRDMA_MTHCAFMR,
	RPCRDMA_FRMR,
	RPCRDMA_ALLPHYSICAL,
	RPCRDMA_LAST
};
+7 −1
Original line number Diff line number Diff line
@@ -58,6 +58,8 @@ struct rpcrdma_ia {
	struct rdma_cm_id 	*ri_id;
	struct ib_pd		*ri_pd;
	struct ib_mr		*ri_bind_mem;
	u32			ri_dma_lkey;
	int			ri_have_dma_lkey;
	struct completion	ri_done;
	int			ri_async_rc;
	enum rpcrdma_memreg	ri_memreg_strategy;
@@ -156,6 +158,10 @@ struct rpcrdma_mr_seg { /* chunk descriptors */
			union {
				struct ib_mw	*mw;
				struct ib_fmr	*fmr;
				struct {
					struct ib_fast_reg_page_list *fr_pgl;
					struct ib_mr *fr_mr;
				} frmr;
			} r;
			struct list_head mw_list;
		} *rl_mw;
@@ -198,7 +204,7 @@ struct rpcrdma_buffer {
	atomic_t	rb_credits;	/* most recent server credits */
	unsigned long	rb_cwndscale;	/* cached framework rpc_cwndscale */
	int		rb_max_requests;/* client max requests */
	struct list_head rb_mws;	/* optional memory windows/fmrs */
	struct list_head rb_mws;	/* optional memory windows/fmrs/frmrs */
	int		rb_send_index;
	struct rpcrdma_req	**rb_send_bufs;
	int		rb_recv_index;