linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: anna.schumaker@netapp.com
Cc: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org
Subject: [PATCH v5 00/30] NFS/RDMA client for next (4.21)
Date: Wed, 19 Dec 2018 10:58:08 -0500	[thread overview]
Message-ID: <20181219155152.11602.18605.stgit@manet.1015granger.net> (raw)

Hi Anna-

This series seems ready to be merged into linux-next.

There have been several regressions related to the ->send_request
changes merged into v4.20. As a result, this series contains fixes
and clean-ups that resulted from testing and close code audit while
working on those regressions.

The soft IRQ warnings and DMAR faults that I observed with krb5
flavors on NFS/RDMA are now resolved by fixes included at the top
of this series. There is still an abnormal number of disconnects
with WRITE-intensive workloads on Kerberos, but recovery now
appears to be transparent to applications.

Trond posted a few more patches to address regressions in the
generic disconnect logic. I expect these will appear in v4.20-rc
or will otherwise be merged before my RDMA series, so I've rebased
my patches onto his fixes.


Changes since v4:
- Rebased on v4.20-rc7 plus Trond's latest disconnect fixes
- Fixed a mid-series compiler error


Change since v3:
- Rebased on v4.20-rc7
- Added patches that fix disconnect hangs and crashes
- Reordered series so that critical fixes are easy to backport
- Dropped patch removing deprecated encryption types
- Added patch to replace indirect memory registration calls
- Patch to detect leaked rpcrdma_reps is no longer needed
- Patch to fix rxe REG_WR was accepted by Jason, dropped here


Changes since v2:
- Rebased on v4.20-rc6 to pick up recent fixes
- Patches related to "xprtrdma: Dynamically allocate rpcrdma_reqs"
 have been dropped
- A number of revisions of documenting comments have been added
- Several new trace points are introduced


Changes since v1:
- Rebased on v4.20-rc4
- Series includes the full set, not just the RDMA-related fixes
- "Plant XID..." has been improved, based on testing with rxe
- The required rxe driver fix is included for convenience
- "Fix ri_max_segs..." replaces a bogus one-line fix in v1
- The patch description for "Remove support for FMR" was updated

---

Chuck Lever (30):
      xprtrdma: Yet another double DMA-unmap
      xprtrdma: Ensure MRs are DMA-unmapped when posting LOCAL_INV fails
      xprtrdma: Refactor Receive accounting
      xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue
      xprtrdma: No qp_event disconnect
      xprtrdma: Don't wake pending tasks until disconnect is done
      xprtrdma: Fix ri_max_segs and the result of ro_maxpages
      xprtrdma: Reduce max_frwr_depth
      xprtrdma: Remove support for FMR memory registration
      xprtrdma: Remove rpcrdma_memreg_ops
      xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR)
      NFS: Make "port=" mount option optional for RDMA mounts
      xprtrdma: Recognize XDRBUF_SPARSE_PAGES
      xprtrdma: Remove request_module from backchannel
      xprtrdma: Expose transport header errors
      xprtrdma: Simplify locking that protects the rl_allreqs list
      xprtrdma: Cull dprintk() call sites
      xprtrdma: Remove unused fields from rpcrdma_ia
      xprtrdma: Clean up of xprtrdma chunk trace points
      xprtrdma: Relocate the xprtrdma_mr_map trace points
      xprtrdma: Add trace points for calls to transport switch methods
      xprtrdma: Trace mapping, alloc, and dereg failures
      NFS: Fix NFSv4 symbolic trace point output
      SUNRPC: Simplify defining common RPC trace events
      SUNRPC: Fix some kernel doc complaints
      xprtrdma: Update comments in frwr_op_send
      xprtrdma: Replace outdated comment for rpcrdma_ep_post
      xprtrdma: Add documenting comment for rpcrdma_buffer_destroy
      xprtrdma: Clarify comments in rpcrdma_ia_remove
      xprtrdma: Don't leak freed MRs


 fs/nfs/nfs4trace.h                         |  456 +++++++++++++++++++---------
 fs/nfs/super.c                             |   10 -
 include/trace/events/rpcrdma.h             |  190 ++++++++++--
 include/trace/events/sunrpc.h              |  172 ++++-------
 net/sunrpc/auth_gss/gss_mech_switch.c      |    2 
 net/sunrpc/backchannel_rqst.c              |    2 
 net/sunrpc/xprtmultipath.c                 |    4 
 net/sunrpc/xprtrdma/Makefile               |    3 
 net/sunrpc/xprtrdma/backchannel.c          |   39 +-
 net/sunrpc/xprtrdma/fmr_ops.c              |  337 ---------------------
 net/sunrpc/xprtrdma/frwr_ops.c             |  209 ++++++++-----
 net/sunrpc/xprtrdma/rpc_rdma.c             |   74 ++---
 net/sunrpc/xprtrdma/svc_rdma_backchannel.c |    8 
 net/sunrpc/xprtrdma/transport.c            |   91 ++----
 net/sunrpc/xprtrdma/verbs.c                |  269 +++++++----------
 net/sunrpc/xprtrdma/xprt_rdma.h            |   80 +----
 net/sunrpc/xprtsock.c                      |    2 
 17 files changed, 914 insertions(+), 1034 deletions(-)
 delete mode 100644 net/sunrpc/xprtrdma/fmr_ops.c

--
Chuck Lever

             reply	other threads:[~2018-12-19 15:58 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19 15:58 Chuck Lever [this message]
2018-12-19 15:58 ` [PATCH v5 01/30] xprtrdma: Yet another double DMA-unmap Chuck Lever
2018-12-19 15:58 ` [PATCH v5 02/30] xprtrdma: Ensure MRs are DMA-unmapped when posting LOCAL_INV fails Chuck Lever
2018-12-19 15:58 ` [PATCH v5 03/30] xprtrdma: Refactor Receive accounting Chuck Lever
2018-12-19 15:58 ` [PATCH v5 04/30] xprtrdma: Replace rpcrdma_receive_wq with a per-xprt workqueue Chuck Lever
2018-12-19 15:58 ` [PATCH v5 05/30] xprtrdma: No qp_event disconnect Chuck Lever
2018-12-19 15:58 ` [PATCH v5 06/30] xprtrdma: Don't wake pending tasks until disconnect is done Chuck Lever
2018-12-19 15:58 ` [PATCH v5 07/30] xprtrdma: Fix ri_max_segs and the result of ro_maxpages Chuck Lever
2018-12-19 15:58 ` [PATCH v5 08/30] xprtrdma: Reduce max_frwr_depth Chuck Lever
2018-12-19 15:58 ` [PATCH v5 09/30] xprtrdma: Remove support for FMR memory registration Chuck Lever
2018-12-19 15:59 ` [PATCH v5 10/30] xprtrdma: Remove rpcrdma_memreg_ops Chuck Lever
2018-12-19 15:59 ` [PATCH v5 11/30] xprtrdma: Plant XID in on-the-wire RDMA offset (FRWR) Chuck Lever
2018-12-19 15:59 ` [PATCH v5 12/30] NFS: Make "port=" mount option optional for RDMA mounts Chuck Lever
2018-12-19 15:59 ` [PATCH v5 13/30] xprtrdma: Recognize XDRBUF_SPARSE_PAGES Chuck Lever
2018-12-19 15:59 ` [PATCH v5 14/30] xprtrdma: Remove request_module from backchannel Chuck Lever
2018-12-19 15:59 ` [PATCH v5 15/30] xprtrdma: Expose transport header errors Chuck Lever
2018-12-19 15:59 ` [PATCH v5 16/30] xprtrdma: Simplify locking that protects the rl_allreqs list Chuck Lever
2018-12-19 15:59 ` [PATCH v5 17/30] xprtrdma: Cull dprintk() call sites Chuck Lever
2018-12-19 15:59 ` [PATCH v5 18/30] xprtrdma: Remove unused fields from rpcrdma_ia Chuck Lever
2018-12-19 15:59 ` [PATCH v5 19/30] xprtrdma: Clean up of xprtrdma chunk trace points Chuck Lever
2018-12-19 15:59 ` [PATCH v5 20/30] xprtrdma: Relocate the xprtrdma_mr_map " Chuck Lever
2018-12-19 16:00 ` [PATCH v5 21/30] xprtrdma: Add trace points for calls to transport switch methods Chuck Lever
2018-12-19 16:00 ` [PATCH v5 22/30] xprtrdma: Trace mapping, alloc, and dereg failures Chuck Lever
2018-12-19 16:00 ` [PATCH v5 23/30] NFS: Fix NFSv4 symbolic trace point output Chuck Lever
2018-12-19 16:00 ` [PATCH v5 24/30] SUNRPC: Simplify defining common RPC trace events Chuck Lever
2018-12-19 16:00 ` [PATCH v5 25/30] SUNRPC: Fix some kernel doc complaints Chuck Lever
2018-12-19 16:00 ` [PATCH v5 26/30] xprtrdma: Update comments in frwr_op_send Chuck Lever
2018-12-19 16:00 ` [PATCH v5 27/30] xprtrdma: Replace outdated comment for rpcrdma_ep_post Chuck Lever
2018-12-19 16:00 ` [PATCH v5 28/30] xprtrdma: Add documenting comment for rpcrdma_buffer_destroy Chuck Lever
2018-12-19 16:00 ` [PATCH v5 29/30] xprtrdma: Clarify comments in rpcrdma_ia_remove Chuck Lever
2018-12-19 16:00 ` [PATCH v5 30/30] xprtrdma: Don't leak freed MRs Chuck Lever

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181219155152.11602.18605.stgit@manet.1015granger.net \
    --to=chuck.lever@oracle.com \
    --cc=anna.schumaker@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).