Skip to content

RFC svcrdma: Fast Memory Registration Support

Tom Tucker linux-nfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest9 patches 7 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9svcrdma: Add Fast Reg MR Data Typesinclude/linux/sunrpc/svc_rdma.h+0 -00 replies
2/9svcrdma: Add FRMR get/put servicesinclude/linux/sunrpc/svc_rdma.h net/sunrpc/xprtrdma/svc_rdma_transport.c+0 -00 replies
3/9svcrdma: Query device for Fast Reg support during connection setupnet/sunrpc/xprtrdma/svc_rdma_transport.c+0 -00 replies
4/9svcrdma: Add a service to register a Fast Reg MR with the deviceinclude/linux/sunrpc/svc_rdma.h net/sunrpc/xprtrdma/svc_rdma_transport.c+48 -60 replies
5/9svcrdma: Modify post recv path to use local dma keynet/sunrpc/xprtrdma/svc_rdma_transport.c+7 -30 replies
6/9svcrdma: Add support to svc_rdma_send to handle chained WRnet/sunrpc/xprtrdma/svc_rdma_transport.c+21 -80 replies
7/9svcrdma: Modify the RPC recv path to use FRMR when availableinclude/linux/sunrpc/svc_rdma.h net/sunrpc/xprtrdma/svc_rdma_recvfrom.c net/sunrpc/xprtrdma/svc_rdma_transport.c+171 -220 replies
8/9svcrdma: Modify the RPC reply path to use FRMR when availablenet/sunrpc/xprtrdma/svc_rdma_sendto.c net/sunrpc/xprtrdma/svc_rdma_transport.c+225 -400 replies
9/9svcrdma: Update svc_rdma_send_error to use DMA LKEYnet/sunrpc/xprtrdma/svc_rdma_transport.c+9 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH,RFC 00/09] svcrdma: Fast Memory Registration Support

This patchset implements support for Fast Memory Registration in the NFS server. Fast Memory Regstration is the ability to quickly map a kernel memory page list as a logically contiguous memory region from the perspective of the adapter. This mapping is created and invalidated using work requests posted on the SQ. This allows for large amounts of data to transferred between the client and server with a single work request as well as the ability to invalidate a previously mapped memory region. For iWARP, this allows for "one-shot" memory regions to be mapped for a single NFS-RDMA data transfer. This improves security since a byzantine app listening on the net will have a very short window during which the RKEY is valid.

This capability is only enabled if the underlying device advertises that it is supported.

This patches are also available here:
git://git.linux-nfs.org/projects/tomtucker/xprt-switch-2.6.git

include/linux/sunrpc/svc_rdma.h | 27 ++++++++++++++++++++++++++-

1 files changed, 26 insertions(+), 1 deletions(-)

[PATCH 02/09] svcrdma: Add FRMR get/put services

include/linux/sunrpc/svc_rdma.h | 3 +
net/sunrpc/xprtrdma/svc_rdma_transport.c | 125 ++++++++++++++++++++++++++++-

2 files changed, 123 insertions(+), 5 deletions(-)

[PATCH 03/09] svcrdma: Query device for Fast Reg support during connection setup

net/sunrpc/xprtrdma/svc_rdma_transport.c | 86 +++++++++++++++++++++++++++--

1 files changed, 80 insertions(+), 6 deletions(-)

[PATCH 04/09] svcrdma: Add a service to register a Fast Reg MR with the device

include/linux/sunrpc/svc_rdma.h | 1 +
net/sunrpc/xprtrdma/svc_rdma_transport.c | 53 ++++++++++++++++++++++++++---

2 files changed, 48 insertions(+), 6 deletions(-)

[PATCH 05/09] svcrdma: Modify post recv path to use local dma key

net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +++++++---

1 files changed, 7 insertions(+), 3 deletions(-)

[PATCH 06/09] svcrdma: Add support to svc_rdma_send to handle chained WR

net/sunrpc/xprtrdma/svc_rdma_transport.c | 29 +++++++++++++++++++++--------

1 files changed, 21 insertions(+), 8 deletions(-)

[PATCH 07/09] svcrdma: Modify the RPC recv path to use FRMR when available

include/linux/sunrpc/svc_rdma.h          |    1 +
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c  |  187 ++++++++++++++++++++++++++----
net/sunrpc/xprtrdma/svc_rdma_transport.c |    5 +-
3 files changed, 171 insertions(+), 22 deletions(-)

[PATCH 08/09] svcrdma: Modify the RPC reply path to use FRMR when available

net/sunrpc/xprtrdma/svc_rdma_sendto.c | 263 +++++++++++++++++++++++++-----
net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +

2 files changed, 225 insertions(+), 40 deletions(-)

[PATCH 09/09] svcrdma: Update svc_rdma_send_error to use DMA LKEY

net/sunrpc/xprtrdma/svc_rdma_transport.c | 11 +++++++++--

1 files changed, 9 insertions(+), 2 deletions(-)