From 48d4f04a666055da2ff15df07dcae4d8158e21b4 Mon Sep 17 00:00:00 2001 From: Tom Talpey Date: Thu, 9 Oct 2008 14:59:59 -0400 Subject: [PATCH] --- yaml --- r: 115409 b: refs/heads/master c: fe9053b30bb48b99f7b45541249f5cfe96bdf7f7 h: refs/heads/master i: 115407: fe830de6a89ebde2d1066638d3974fbd94bbafd5 v: v3 --- [refs] | 2 +- trunk/include/linux/sunrpc/xprtrdma.h | 1 + trunk/net/sunrpc/xprtrdma/xprt_rdma.h | 8 +++++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d2ffef4bfd3e..c5348a556edd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8d4ba0347ccfea4f12e56e2484954b891411b74d +refs/heads/master: fe9053b30bb48b99f7b45541249f5cfe96bdf7f7 diff --git a/trunk/include/linux/sunrpc/xprtrdma.h b/trunk/include/linux/sunrpc/xprtrdma.h index 4de56b1d372b..55a5d92ca1e2 100644 --- a/trunk/include/linux/sunrpc/xprtrdma.h +++ b/trunk/include/linux/sunrpc/xprtrdma.h @@ -78,6 +78,7 @@ enum rpcrdma_memreg { RPCRDMA_MEMWINDOWS, RPCRDMA_MEMWINDOWS_ASYNC, RPCRDMA_MTHCAFMR, + RPCRDMA_FRMR, RPCRDMA_ALLPHYSICAL, RPCRDMA_LAST }; diff --git a/trunk/net/sunrpc/xprtrdma/xprt_rdma.h b/trunk/net/sunrpc/xprtrdma/xprt_rdma.h index 2427822f8bd4..05b7898e1f4b 100644 --- a/trunk/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/trunk/net/sunrpc/xprtrdma/xprt_rdma.h @@ -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;