I'd like to see this series merged into 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. The patch removing deprecated Kerberos encryption types has been dropped because there are still users who need this support. I will look into simple ways to ensure these enctypes are working properly and find more gentle deprecation schemes for a later merge window. 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/linux/sunrpc/xprt.h | 1 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/xprt.c | 19 + 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 | 90 ++---- net/sunrpc/xprtrdma/verbs.c | 273 +++++++---------- net/sunrpc/xprtrdma/xprt_rdma.h | 79 +---- net/sunrpc/xprtsock.c | 2 19 files changed, 935 insertions(+), 1035 deletions(-) delete mode 100644 net/sunrpc/xprtrdma/fmr_ops.c -- Chuck Lever