From: Chuck Lever <chuck.lever@oracle.com>
To: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org
Subject: [PATCH v2 00/24] NFS/RDMA client patches proposed for v4.8
Date: Tue, 14 Jun 2016 23:15:16 -0400 [thread overview]
Message-ID: <20160615030626.14794.43805.stgit@manet.1015granger.net> (raw)
This series implements the following:
- Fixes to FMR disconnect recovery
- Removal of the insecure ALLPHYSICAL memory registration mode
- Significant reductions in per-transport memory consumption
- Support for sec=krb5, sec=krb5i, and sec=krb5p with NFS/RDMA
(with no performance impact on sec=sys)
- Pre-requisites for device removal support
Kerberos with NFS/RDMA is useful mainly for secure authentication of
each RPC transaction (sec=krb5). The Kerberos integrity and privacy
services are also available, providing feature parity with TCP in
environments where the use of sec=krb5i or sec=krb5p is mandated by
IT policy.
Sagi's proposed fix for mlx4's new FRWR API is included. I'll drop
it from my series once the official version of this fix is merged.
Available in the "nfs-rdma-for-4.8" 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/nfs-rdma-for-4.8
Changes since v1:
- Rebased on v4.7-rc3
- Re-ordered series so FMR fixes come first
- Fix ib_unmap_fmr list handling
- Replaced the bogus 256-MRs-per-QP patch with dynamic MR allocation
- Add performance counters to expose MR allocation and recovery behavior
- Included Sagi's proposed mlx4 priv pages fix
- Make it easier to merge my datatouch patch with Scott's bug fix
- Split some patches for readability
- Drop some clean-up patches to keep the series patch count down
---
Chuck Lever (23):
xprtrdma: Remove FMRs from the unmap list after unmapping
xprtrdma: Create common scatterlist fields in rpcrdma_mw
xprtrdma: Move init and release helpers
xprtrdma: Rename fields in rpcrdma_fmr
xprtrdma: Use scatterlist for DMA mapping and unmapping under FMR
xprtrdma: Refactor MR recovery work queues
xprtrdma: Do not leak an MW during a DMA map failure
xprtrdma: Remove ALLPHYSICAL memory registration mode
xprtrdma: Remove rpcrdma_map_one() and friends
xprtrdma: Reply buffer exhaustion can be catastrophic
xprtrdma: Honor ->send_request API contract
xprtrdma: Chunk list encoders must not return zero
xprtrdma: Allocate MRs on demand
xprtrdma: Release orphaned MRs immediately
xprtrdma: Place registered MWs on a per-req list
xprtrdma: Chunk list encoders no longer share one rl_segments array
xprtrdma: rpcrdma_inline_fixup() overruns the receive page list
xprtrdma: Do not update {head,tail}.iov_len in rpcrdma_inline_fixup()
xprtrdma: Update only specific fields in private receive buffer
xprtrdma: Clean up fixup_copy_count accounting
xprtrdma: No direct data placement with krb5i and krb5p
svc: Avoid garbage replies when pc_func() returns rpc_drop_reply
NFS: Don't drop CB requests with invalid principals
Sagi Grimberg (1):
mlx4-ib: Use coherent memory for priv pages
drivers/infiniband/hw/mlx4/mlx4_ib.h | 1
drivers/infiniband/hw/mlx4/mr.c | 42 +---
fs/nfs/callback_xdr.c | 6 -
include/linux/sunrpc/auth.h | 3
include/linux/sunrpc/gss_api.h | 2
net/sunrpc/auth_gss/auth_gss.c | 2
net/sunrpc/auth_gss/gss_krb5_mech.c | 2
net/sunrpc/auth_gss/gss_mech_switch.c | 12 +
net/sunrpc/svc.c | 8 +
net/sunrpc/xprtrdma/Makefile | 2
net/sunrpc/xprtrdma/fmr_ops.c | 372 +++++++++++++++------------------
net/sunrpc/xprtrdma/frwr_ops.c | 352 +++++++++++--------------------
net/sunrpc/xprtrdma/physical_ops.c | 122 -----------
net/sunrpc/xprtrdma/rpc_rdma.c | 274 +++++++++++++-----------
net/sunrpc/xprtrdma/transport.c | 40 ++--
net/sunrpc/xprtrdma/verbs.c | 189 +++++++++++++----
net/sunrpc/xprtrdma/xprt_rdma.h | 116 ++++------
17 files changed, 684 insertions(+), 861 deletions(-)
delete mode 100644 net/sunrpc/xprtrdma/physical_ops.c
--
Chuck Lever
next reply other threads:[~2016-06-15 3:15 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-15 3:15 Chuck Lever [this message]
2016-06-15 3:15 ` [PATCH v2 01/24] mlx4-ib: Use coherent memory for priv pages Chuck Lever
2016-06-15 4:28 ` Leon Romanovsky
2016-06-15 16:40 ` Chuck Lever
2016-06-16 14:35 ` Leon Romanovsky
2016-06-16 21:10 ` Sagi Grimberg
2016-06-16 21:58 ` Chuck Lever
2016-06-17 9:20 ` Leon Romanovsky
2016-06-17 19:55 ` Chuck Lever
2016-06-18 10:56 ` Leon Romanovsky
2016-06-18 20:08 ` Chuck Lever
2016-06-19 10:04 ` Sagi Grimberg
2016-06-19 19:38 ` Or Gerlitz
2016-06-19 19:43 ` Or Gerlitz
2016-06-19 20:02 ` Chuck Lever
2016-06-20 5:44 ` Leon Romanovsky
2016-06-20 6:34 ` Sagi Grimberg
2016-06-20 7:01 ` Leon Romanovsky
2016-06-20 8:35 ` Sagi Grimberg
2016-06-20 13:41 ` Yishai Hadas
2016-06-21 13:56 ` Sagi Grimberg
2016-06-21 14:35 ` Laurence Oberman
2016-06-19 9:58 ` Sagi Grimberg
2016-06-19 9:48 ` Sagi Grimberg
2016-06-17 9:05 ` Leon Romanovsky
2016-06-19 7:05 ` Sagi Grimberg
2016-06-15 3:15 ` [PATCH v2 02/24] xprtrdma: Remove FMRs from the unmap list after unmapping Chuck Lever
2016-06-15 3:15 ` [PATCH v2 03/24] xprtrdma: Create common scatterlist fields in rpcrdma_mw Chuck Lever
2016-06-15 3:15 ` [PATCH v2 04/24] xprtrdma: Move init and release helpers Chuck Lever
2016-06-15 3:15 ` [PATCH v2 05/24] xprtrdma: Rename fields in rpcrdma_fmr Chuck Lever
2016-06-15 3:16 ` [PATCH v2 06/24] xprtrdma: Use scatterlist for DMA mapping and unmapping under FMR Chuck Lever
2016-06-15 3:16 ` [PATCH v2 07/24] xprtrdma: Refactor MR recovery work queues Chuck Lever
2016-06-15 3:16 ` [PATCH v2 08/24] xprtrdma: Do not leak an MW during a DMA map failure Chuck Lever
2016-06-15 3:16 ` [PATCH v2 09/24] xprtrdma: Remove ALLPHYSICAL memory registration mode Chuck Lever
2016-06-15 3:16 ` [PATCH v2 10/24] xprtrdma: Remove rpcrdma_map_one() and friends Chuck Lever
2016-06-15 3:16 ` [PATCH v2 11/24] xprtrdma: Reply buffer exhaustion can be catastrophic Chuck Lever
2016-06-15 3:16 ` [PATCH v2 12/24] xprtrdma: Honor ->send_request API contract Chuck Lever
2016-06-15 3:17 ` [PATCH v2 13/24] xprtrdma: Chunk list encoders must not return zero Chuck Lever
2016-06-15 3:17 ` [PATCH v2 14/24] xprtrdma: Allocate MRs on demand Chuck Lever
2016-06-15 3:17 ` [PATCH v2 15/24] xprtrdma: Release orphaned MRs immediately Chuck Lever
2016-06-15 3:17 ` [PATCH v2 16/24] xprtrdma: Place registered MWs on a per-req list Chuck Lever
2016-06-15 3:17 ` [PATCH v2 17/24] xprtrdma: Chunk list encoders no longer share one rl_segments array Chuck Lever
2016-06-15 3:17 ` [PATCH v2 18/24] xprtrdma: rpcrdma_inline_fixup() overruns the receive page list Chuck Lever
2016-06-15 3:17 ` [PATCH v2 19/24] xprtrdma: Do not update {head, tail}.iov_len in rpcrdma_inline_fixup() Chuck Lever
2016-06-15 3:18 ` [PATCH v2 20/24] xprtrdma: Update only specific fields in private receive buffer Chuck Lever
2016-06-15 3:18 ` [PATCH v2 21/24] xprtrdma: Clean up fixup_copy_count accounting Chuck Lever
2016-06-15 3:18 ` [PATCH v2 22/24] xprtrdma: No direct data placement with krb5i and krb5p Chuck Lever
2016-06-15 3:18 ` [PATCH v2 23/24] svc: Avoid garbage replies when pc_func() returns rpc_drop_reply Chuck Lever
2016-06-15 3:18 ` [PATCH v2 24/24] NFS: Don't drop CB requests with invalid principals 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=20160615030626.14794.43805.stgit@manet.1015granger.net \
--to=chuck.lever@oracle.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).