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