All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 00/14] Server-side NFS/RDMA changes for v4.12
@ 2017-03-16 15:52 ` Chuck Lever
  0 siblings, 0 replies; 70+ messages in thread
From: Chuck Lever @ 2017-03-16 15:52 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA, linux-nfs-u79uwXL29TY76Z2rM5mHXA

This series overhauls the "reply send" side of the RPC-over-RDMA
transport to use the new rdma_rw API. Benefits include:

<> Better code modularity, less code duplication with other ULPs

<> Ability for svcrdma to use any registration mode for RDMA Writes

<> Correctly handles RPCs that have both a Write and a Reply chunk

<> Much better handling of Write chunk overrun


No significant performance changes noticed with this overhaul.

Additions outweigh deletions for two reasons: there are more large
block comments in the new code, and code to handle "call receive"
is also added in svc_rdma_rw.c, but not used yet.


Available in the "nfsd-rdma-for-4.12" topic branch of this git repo:

git://git.linux-nfs.org/projects/cel/cel-2.6.git


Or for browsing:

http://git.linux-nfs.org/?p=cel/cel-2.6.git;a=log;h=refs/heads/nfsd-rdma-for-4.12

---

Chuck Lever (14):
      svcrdma: Move send_wr to svc_rdma_op_ctxt
      svcrdma: Add svc_rdma_map_reply_hdr()
      svcrdma: Eliminate RPCRDMA_SQ_DEPTH_MULT
      svcrdma: Add helper to save pages under I/O
      svcrdma: Introduce local rdma_rw API helpers
      svcrdma: Use rdma_rw API in RPC reply path
      svcrdma: Clean up RDMA_ERROR path
      svcrdma: Report Write/Reply chunk overruns
      svcrdma: Clean up RPC-over-RDMA backchannel reply processing
      svcrdma: Reduce size of sge array in struct svc_rdma_op_ctxt
      svcrdma: Remove old RDMA Write completion handlers
      svcrdma: Remove the req_map cache
      svcrdma: Clean out old XDR encoders
      svcrdma: Clean up svc_rdma_post_recv() error handling


 include/linux/sunrpc/rpc_rdma.h            |    3 
 include/linux/sunrpc/svc_rdma.h            |   81 +--
 net/sunrpc/xprtrdma/Makefile               |    2 
 net/sunrpc/xprtrdma/svc_rdma.c             |    8 
 net/sunrpc/xprtrdma/svc_rdma_backchannel.c |   74 +-
 net/sunrpc/xprtrdma/svc_rdma_marshal.c     |  148 +++--
 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c    |   80 ++-
 net/sunrpc/xprtrdma/svc_rdma_rw.c          |  785 +++++++++++++++++++++++++
 net/sunrpc/xprtrdma/svc_rdma_sendto.c      |  872 ++++++++++++----------------
 net/sunrpc/xprtrdma/svc_rdma_transport.c   |  176 ++----
 10 files changed, 1438 insertions(+), 791 deletions(-)
 create mode 100644 net/sunrpc/xprtrdma/svc_rdma_rw.c

--
Chuck Lever
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 70+ messages in thread

end of thread, other threads:[~2017-03-24 22:19 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-16 15:52 [PATCH v1 00/14] Server-side NFS/RDMA changes for v4.12 Chuck Lever
2017-03-16 15:52 ` Chuck Lever
     [not found] ` <20170316154132.4482.56769.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-16 15:52   ` [PATCH v1 01/14] svcrdma: Move send_wr to svc_rdma_op_ctxt Chuck Lever
2017-03-16 15:52     ` Chuck Lever
     [not found]     ` <20170316155234.4482.94225.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-21 17:49       ` Sagi Grimberg
2017-03-21 17:49         ` Sagi Grimberg
2017-03-16 15:52   ` [PATCH v1 02/14] svcrdma: Add svc_rdma_map_reply_hdr() Chuck Lever
2017-03-16 15:52     ` Chuck Lever
     [not found]     ` <20170316155242.4482.64809.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-21 17:54       ` Sagi Grimberg
2017-03-21 17:54         ` Sagi Grimberg
     [not found]         ` <f5000e25-6ca1-fc24-35c0-6089cf50923c-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-03-21 18:40           ` Chuck Lever
2017-03-21 18:40             ` Chuck Lever
     [not found]             ` <A18F9D5E-09BA-4268-9AA6-3E5866101F76-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-03-22 13:07               ` Sagi Grimberg
2017-03-22 13:07                 ` Sagi Grimberg
2017-03-16 15:52   ` [PATCH v1 03/14] svcrdma: Eliminate RPCRDMA_SQ_DEPTH_MULT Chuck Lever
2017-03-16 15:52     ` Chuck Lever
     [not found]     ` <20170316155250.4482.49638.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-21 17:58       ` Sagi Grimberg
2017-03-21 17:58         ` Sagi Grimberg
     [not found]         ` <46eb6195-a542-b35c-4902-a2bebb38feba-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-03-21 18:44           ` Chuck Lever
2017-03-21 18:44             ` Chuck Lever
     [not found]             ` <391F0D90-2A46-4B2F-BCF0-B3BE7D48A3EF-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-03-22 13:09               ` Sagi Grimberg
2017-03-22 13:09                 ` Sagi Grimberg
     [not found]                 ` <ec82feb4-d6b9-7fb4-5b11-b8007e313845-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-03-22 13:36                   ` Chuck Lever
2017-03-22 13:36                     ` Chuck Lever
     [not found]                     ` <C9D8A91C-DE08-4A41-A07D-1F4C42DD9B97-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-03-22 19:06                       ` Sagi Grimberg
2017-03-22 19:06                         ` Sagi Grimberg
     [not found]                         ` <68e3eda0-90f4-5bca-28be-b2cf494ed172-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-03-22 19:30                           ` Chuck Lever
2017-03-22 19:30                             ` Chuck Lever
2017-03-16 15:52   ` [PATCH v1 04/14] svcrdma: Add helper to save pages under I/O Chuck Lever
2017-03-16 15:52     ` Chuck Lever
     [not found]     ` <20170316155258.4482.69182.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-21 18:01       ` Sagi Grimberg
2017-03-21 18:01         ` Sagi Grimberg
2017-03-16 15:53   ` [PATCH v1 05/14] svcrdma: Introduce local rdma_rw API helpers Chuck Lever
2017-03-16 15:53     ` Chuck Lever
     [not found]     ` <20170316155306.4482.68041.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-22 14:17       ` Sagi Grimberg
2017-03-22 14:17         ` Sagi Grimberg
     [not found]         ` <cfa49433-ab26-d2f0-27d4-2a96ff0adaba-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-03-22 15:41           ` Chuck Lever
2017-03-22 15:41             ` Chuck Lever
     [not found]             ` <1CAD2542-A121-47ED-A47C-624E188EB54F-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-03-24 22:19               ` Chuck Lever
2017-03-24 22:19                 ` Chuck Lever
2017-03-16 15:53   ` [PATCH v1 06/14] svcrdma: Use rdma_rw API in RPC reply path Chuck Lever
2017-03-16 15:53     ` Chuck Lever
2017-03-16 15:53   ` [PATCH v1 07/14] svcrdma: Clean up RDMA_ERROR path Chuck Lever
2017-03-16 15:53     ` Chuck Lever
     [not found]     ` <20170316155323.4482.8051.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-22 14:18       ` Sagi Grimberg
2017-03-22 14:18         ` Sagi Grimberg
2017-03-16 15:53   ` [PATCH v1 08/14] svcrdma: Report Write/Reply chunk overruns Chuck Lever
2017-03-16 15:53     ` Chuck Lever
     [not found]     ` <20170316155331.4482.7734.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-22 14:20       ` Sagi Grimberg
2017-03-22 14:20         ` Sagi Grimberg
2017-03-16 15:53   ` [PATCH v1 09/14] svcrdma: Clean up RPC-over-RDMA backchannel reply processing Chuck Lever
2017-03-16 15:53     ` Chuck Lever
2017-03-16 15:53   ` [PATCH v1 10/14] svcrdma: Reduce size of sge array in struct svc_rdma_op_ctxt Chuck Lever
2017-03-16 15:53     ` Chuck Lever
     [not found]     ` <20170316155347.4482.74652.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-22 14:21       ` Sagi Grimberg
2017-03-22 14:21         ` Sagi Grimberg
2017-03-16 15:53   ` [PATCH v1 11/14] svcrdma: Remove old RDMA Write completion handlers Chuck Lever
2017-03-16 15:53     ` Chuck Lever
     [not found]     ` <20170316155355.4482.35026.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-22 14:22       ` Sagi Grimberg
2017-03-22 14:22         ` Sagi Grimberg
2017-03-16 15:54   ` [PATCH v1 12/14] svcrdma: Remove the req_map cache Chuck Lever
2017-03-16 15:54     ` Chuck Lever
     [not found]     ` <20170316155403.4482.2040.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-22 14:22       ` Sagi Grimberg
2017-03-22 14:22         ` Sagi Grimberg
2017-03-16 15:54   ` [PATCH v1 13/14] svcrdma: Clean out old XDR encoders Chuck Lever
2017-03-16 15:54     ` Chuck Lever
     [not found]     ` <20170316155411.4482.37224.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-03-22 14:23       ` Sagi Grimberg
2017-03-22 14:23         ` Sagi Grimberg
2017-03-16 15:54   ` [PATCH v1 14/14] svcrdma: Clean up svc_rdma_post_recv() error handling Chuck Lever
2017-03-16 15:54     ` Chuck Lever

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.