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

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
...@@ -78,6 +78,7 @@ enum rpcrdma_memreg { ...@@ -78,6 +78,7 @@ enum rpcrdma_memreg {
RPCRDMA_MEMWINDOWS, RPCRDMA_MEMWINDOWS,
RPCRDMA_MEMWINDOWS_ASYNC, RPCRDMA_MEMWINDOWS_ASYNC,
RPCRDMA_MTHCAFMR, RPCRDMA_MTHCAFMR,
RPCRDMA_FRMR,
RPCRDMA_ALLPHYSICAL, RPCRDMA_ALLPHYSICAL,
RPCRDMA_LAST RPCRDMA_LAST
}; };
......
...@@ -58,6 +58,8 @@ struct rpcrdma_ia { ...@@ -58,6 +58,8 @@ struct rpcrdma_ia {
struct rdma_cm_id *ri_id; struct rdma_cm_id *ri_id;
struct ib_pd *ri_pd; struct ib_pd *ri_pd;
struct ib_mr *ri_bind_mem; struct ib_mr *ri_bind_mem;
u32 ri_dma_lkey;
int ri_have_dma_lkey;
struct completion ri_done; struct completion ri_done;
int ri_async_rc; int ri_async_rc;
enum rpcrdma_memreg ri_memreg_strategy; enum rpcrdma_memreg ri_memreg_strategy;
...@@ -156,6 +158,10 @@ struct rpcrdma_mr_seg { /* chunk descriptors */ ...@@ -156,6 +158,10 @@ struct rpcrdma_mr_seg { /* chunk descriptors */
union { union {
struct ib_mw *mw; struct ib_mw *mw;
struct ib_fmr *fmr; struct ib_fmr *fmr;
struct {
struct ib_fast_reg_page_list *fr_pgl;
struct ib_mr *fr_mr;
} frmr;
} r; } r;
struct list_head mw_list; struct list_head mw_list;
} *rl_mw; } *rl_mw;
...@@ -198,7 +204,7 @@ struct rpcrdma_buffer { ...@@ -198,7 +204,7 @@ struct rpcrdma_buffer {
atomic_t rb_credits; /* most recent server credits */ atomic_t rb_credits; /* most recent server credits */
unsigned long rb_cwndscale; /* cached framework rpc_cwndscale */ unsigned long rb_cwndscale; /* cached framework rpc_cwndscale */
int rb_max_requests;/* client max requests */ 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; int rb_send_index;
struct rpcrdma_req **rb_send_bufs; struct rpcrdma_req **rb_send_bufs;
int rb_recv_index; int rb_recv_index;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment