xprtrdma: Place registered MWs on a per-req list
Instead of placing registered MWs sparsely into the rl_segments array, place these MWs on a per-req list. ro_unmap_{sync,safe} can then simply pull those MWs off the list instead of walking through the array. This change significantly reduces the size of struct rpcrdma_req by removing nsegs and rl_mw from every array element. As an additional clean-up, chunk co-ordinates are returned in the "*mw" output argument so they are no longer needed in every array element. Signed-off-by:Chuck Lever <chuck.lever@oracle.com> Tested-by:
Steve Wise <swise@opengridcomputing.com> Signed-off-by:
Anna Schumaker <Anna.Schumaker@Netapp.com>
Showing
- net/sunrpc/xprtrdma/fmr_ops.c 21 additions, 44 deletionsnet/sunrpc/xprtrdma/fmr_ops.c
- net/sunrpc/xprtrdma/frwr_ops.c 25 additions, 47 deletionsnet/sunrpc/xprtrdma/frwr_ops.c
- net/sunrpc/xprtrdma/rpc_rdma.c 38 additions, 43 deletionsnet/sunrpc/xprtrdma/rpc_rdma.c
- net/sunrpc/xprtrdma/transport.c 3 additions, 0 deletionsnet/sunrpc/xprtrdma/transport.c
- net/sunrpc/xprtrdma/verbs.c 1 addition, 0 deletionsnet/sunrpc/xprtrdma/verbs.c
- net/sunrpc/xprtrdma/xprt_rdma.h 6 additions, 5 deletionsnet/sunrpc/xprtrdma/xprt_rdma.h
Loading
Please register or sign in to comment