public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/19] Server-side NFS/RDMA changes proposed for v4.13
@ 2017-06-16 15:20 Chuck Lever
       [not found] ` <20170616151535.14210.34926.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
  0 siblings, 1 reply; 34+ messages in thread
From: Chuck Lever @ 2017-06-16 15:20 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA

This series overhauls the "call receive" side of the RPC-over-RDMA
transport to use the new rdma_rw API. A slight performance increase
(better throughput and latency) has been seen. Benefits include:

o Fewer ib_post_send calls per RPC Call

o Code duplicated by other ULPs is replaced with core functions

o Position-Zero Read chunks are handled in one function

o More thorough transport header sanity checking


Available in the "nfsd-rdma-for-4.13" 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.13


Remaining rdma_rw API changes are here:

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


Changes since v1:
* Fixed bugzilla.linux-nfs 307
* Cleaned up struct svc_rdma_chunk_ctxt


---

Chuck Lever (19):
      ib_core: Enable and expose force_mr module parameter
      svcrdma: Squelch disconnection messages
      svcrdma: Avoid Send Queue overflow
      svcrdma: Remove svc_rdma_marshal.c
      svcrdma: Improve Read chunk sanity checking
      svcrdma: Improve Write chunk sanity checking
      svcrdma: Improve Reply chunk sanity checking
      svcrdma: Don't account for Receive queue "starvation"
      sunrpc: Allocate one more page per svc_rqst
      svcrdma: Add recvfrom helpers to svc_rdma_rw.c
      svcrdma: Use generic RDMA R/W API in RPC Call path
      svcrdma: Properly compute .len and .buflen for received RPC Calls
      svcrdma: Remove unused Read completion handlers
      svcrdma: Remove frmr cache
      svcrdma: Clean-up svc_rdma_unmap_dma
      svcrdma: Clean up after converting svc_rdma_recvfrom to rdma_rw API
      svcrdma: use offset_in_page() macro
      svcrdma: Remove svc_rdma_chunk_ctxt::cc_dir field
      sunrpc: Disable splice for krb5i


 drivers/infiniband/core/rw.c             |    2 
 include/linux/sunrpc/svc.h               |    3 
 include/linux/sunrpc/svc_rdma.h          |   46 --
 net/sunrpc/auth_gss/svcauth_gss.c        |    2 
 net/sunrpc/svc_xprt.c                    |    8 
 net/sunrpc/xprtrdma/Makefile             |    4 
 net/sunrpc/xprtrdma/svc_rdma_marshal.c   |  168 -------
 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c  |  734 ++++++++++++------------------
 net/sunrpc/xprtrdma/svc_rdma_rw.c        |  448 ++++++++++++++++++
 net/sunrpc/xprtrdma/svc_rdma_sendto.c    |   15 -
 net/sunrpc/xprtrdma/svc_rdma_transport.c |  250 +---------
 11 files changed, 769 insertions(+), 911 deletions(-)
 delete mode 100644 net/sunrpc/xprtrdma/svc_rdma_marshal.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] 34+ messages in thread

end of thread, other threads:[~2017-06-22 17:13 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-16 15:20 [PATCH v2 00/19] Server-side NFS/RDMA changes proposed for v4.13 Chuck Lever
     [not found] ` <20170616151535.14210.34926.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-06-16 15:20   ` [PATCH v2 01/19] ib_core: Enable and expose force_mr module parameter Chuck Lever
2017-06-16 15:20   ` [PATCH v2 02/19] svcrdma: Squelch disconnection messages Chuck Lever
2017-06-16 15:20   ` [PATCH v2 03/19] svcrdma: Avoid Send Queue overflow Chuck Lever
2017-06-16 15:20   ` [PATCH v2 04/19] svcrdma: Remove svc_rdma_marshal.c Chuck Lever
2017-06-16 15:21   ` [PATCH v2 05/19] svcrdma: Improve Read chunk sanity checking Chuck Lever
2017-06-16 15:21   ` [PATCH v2 06/19] svcrdma: Improve Write " Chuck Lever
2017-06-16 15:21   ` [PATCH v2 07/19] svcrdma: Improve Reply " Chuck Lever
2017-06-16 15:21   ` [PATCH v2 08/19] svcrdma: Don't account for Receive queue "starvation" Chuck Lever
2017-06-16 15:21   ` [PATCH v2 09/19] sunrpc: Allocate one more page per svc_rqst Chuck Lever
2017-06-16 15:21   ` [PATCH v2 10/19] svcrdma: Add recvfrom helpers to svc_rdma_rw.c Chuck Lever
2017-06-16 15:21   ` [PATCH v2 11/19] svcrdma: Use generic RDMA R/W API in RPC Call path Chuck Lever
2017-06-16 15:21   ` [PATCH v2 12/19] svcrdma: Properly compute .len and .buflen for received RPC Calls Chuck Lever
2017-06-16 15:22   ` [PATCH v2 13/19] svcrdma: Remove unused Read completion handlers Chuck Lever
2017-06-16 15:22   ` [PATCH v2 14/19] svcrdma: Remove frmr cache Chuck Lever
2017-06-16 15:22   ` [PATCH v2 15/19] svcrdma: Clean-up svc_rdma_unmap_dma Chuck Lever
2017-06-16 15:22   ` [PATCH v2 16/19] svcrdma: Clean up after converting svc_rdma_recvfrom to rdma_rw API Chuck Lever
2017-06-16 15:22   ` [PATCH v2 17/19] svcrdma: use offset_in_page() macro Chuck Lever
2017-06-16 15:22   ` [PATCH v2 18/19] svcrdma: Remove svc_rdma_chunk_ctxt::cc_dir field Chuck Lever
2017-06-16 15:22   ` [PATCH v2 19/19] sunrpc: Disable splice for krb5i Chuck Lever
     [not found]     ` <20170616152254.14210.48071.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2017-06-16 17:52       ` J. Bruce Fields
     [not found]         ` <20170616175253.GF12030-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2017-06-16 18:37           ` Chuck Lever
     [not found]             ` <D8C547C0-C361-43F4-8E5C-AF8A6C45C500-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-16 18:42               ` J. Bruce Fields
     [not found]                 ` <20170616184208.GH12030-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2017-06-16 18:44                   ` Chuck Lever
2017-06-17 10:01       ` Jeff Layton
     [not found]         ` <1497693712.4684.4.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-06-20 19:41           ` J. Bruce Fields
2017-06-17 15:07       ` Christoph Hellwig
     [not found]         ` <20170617150705.GA27917-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-06-17 17:23           ` Chuck Lever
     [not found]             ` <A573E1EB-48DB-4E4A-B710-34914B0CF016-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-18  7:34               ` Christoph Hellwig
     [not found]                 ` <20170618073438.GA15358-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-06-19 15:22                   ` Chuck Lever
     [not found]                     ` <14AD4311-5092-441C-8A3B-F7EC7E801358-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-06-19 15:30                       ` Christoph Hellwig
     [not found]                         ` <20170619153018.GA2667-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-06-22 17:13                           ` Jeff Layton
2017-06-20 19:24                   ` J. Bruce Fields
     [not found]                     ` <20170620192449.GB13008-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2017-06-20 19:28                       ` J. Bruce Fields

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox