From: Anna Schumaker <Anna.Schumaker@netapp.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: <linux-rdma@vger.kernel.org>, <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH v4 00/21] NFS/RDMA client patches for 3.17
Date: Wed, 23 Jul 2014 14:53:20 -0400 [thread overview]
Message-ID: <53D004A0.7030803@Netapp.com> (raw)
In-Reply-To: <20140722144459.6010.99389.stgit@manet.1015granger.net>
I've applied these changes and pushed them out in my nfs-rdma branch. I'm planning to send a pull request to Trond on Friday so these changes can spend some time in linux-next before the next merge window opens.
Anna
On 07/22/2014 10:50 AM, Chuck Lever wrote:
> The main purpose of this series is to address connection drop
> recovery issues by fixing FRMR re-use to make it less likely the
> client will deadlock due to a memory management operation error.
> Some clean-ups and other fixes are present as well.
>
> Anna, v4 of this series should be ready for merging.
>
> See topic branch nfs-rdma-for-3.17 in
>
> git://git.linux-nfs.org/projects/cel/cel-2.6.git
>
> I tested with NFSv3 and NFSv4 on all three supported memory
> registration modes. Used cthon04, iozone, and dbench with both
> Solaris and Linux NFS/RDMA servers. Used xfstests with Linux.
>
> v4:
>
> - Rebased on v3.16-rc6
>
> - Add Tested-by: from Shirley Ma and Devesh Sharma
>
>
> v3:
> Only two substantive changes:
>
> - Patch 08/21 now uses generic IB helpers for managing FRMR
> rkeys
>
> - Add Tested-by: from Steve Wise
>
>
> v2:
> Many patches from v1 have been written or replaced.
>
> The MW ref counting approach in v1 is abandoned. Instead, I've
> eliminated signaling FAST_REG_MR and LOCAL_INV, and added
> appropriate recovery mechanisms after a transport reconnect that
> should prevent rkey dis-synchrony entirely.
>
> A couple of optimizations have been added, including:
>
> - Allocating each MW separately rather than carving each out of a
> large piece of contiguous memory
>
> - Now that the receive CQ upcall handler dequeues a bundle of CQEs
> at once, fire off the reply handler tasklet just once per upcall
> to reduce context switches and how often hard IRQs are disabled
>
> ---
>
> Chuck Lever (21):
> xprtrdma: Fix panic in rpcrdma_register_frmr_external()
> xprtrdma: Protect ia->ri_id when unmapping/invalidating MRs
> xprtrdma: Limit data payload size for ALLPHYSICAL
> xprtrdma: Update rkeys after transport reconnect
> xprtrdma: On disconnect, don't ignore pending CQEs
> xprtrdma: Don't invalidate FRMRs if registration fails
> xprtrdma: Unclutter struct rpcrdma_mr_seg
> xprtrdma: Back off rkey when FAST_REG_MR fails
> xprtrdma: Chain together all MWs in same buffer pool
> xprtrdma: Properly handle exhaustion of the rb_mws list
> xprtrdma: Reset FRMRs when FAST_REG_MR is flushed by a disconnect
> xprtrdma: Reset FRMRs after a flushed LOCAL_INV Work Request
> xprtrdma: Don't post a LOCAL_INV in rpcrdma_register_frmr_external()
> xprtrdma: Disable completions for FAST_REG_MR Work Requests
> xprtrdma: Disable completions for LOCAL_INV Work Requests
> xprtrdma: Rename frmr_wr
> xprtrdma: Allocate each struct rpcrdma_mw separately
> xprtrdma: Schedule reply tasklet once per upcall
> xprtrdma: Make rpcrdma_ep_disconnect() return void
> xprtrdma: Remove RPCRDMA_PERSISTENT_REGISTRATION macro
> xprtrdma: Handle additional connection events
>
>
> include/linux/sunrpc/xprtrdma.h | 2
> include/rdma/ib_verbs.h | 11 +
> net/sunrpc/xprtrdma/rpc_rdma.c | 83 ++--
> net/sunrpc/xprtrdma/transport.c | 17 +
> net/sunrpc/xprtrdma/verbs.c | 744 ++++++++++++++++++++++++++-------------
> net/sunrpc/xprtrdma/xprt_rdma.h | 61 +++
> 6 files changed, 615 insertions(+), 303 deletions(-)
>
> --
> Chuck Lever
>
WARNING: multiple messages have this Message-ID (diff)
From: Anna Schumaker <Anna.Schumaker-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>
To: Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v4 00/21] NFS/RDMA client patches for 3.17
Date: Wed, 23 Jul 2014 14:53:20 -0400 [thread overview]
Message-ID: <53D004A0.7030803@Netapp.com> (raw)
In-Reply-To: <20140722144459.6010.99389.stgit-FYjufvaPoItvLzlybtyyYzGyq/o6K9yX@public.gmane.org>
I've applied these changes and pushed them out in my nfs-rdma branch. I'm planning to send a pull request to Trond on Friday so these changes can spend some time in linux-next before the next merge window opens.
Anna
On 07/22/2014 10:50 AM, Chuck Lever wrote:
> The main purpose of this series is to address connection drop
> recovery issues by fixing FRMR re-use to make it less likely the
> client will deadlock due to a memory management operation error.
> Some clean-ups and other fixes are present as well.
>
> Anna, v4 of this series should be ready for merging.
>
> See topic branch nfs-rdma-for-3.17 in
>
> git://git.linux-nfs.org/projects/cel/cel-2.6.git
>
> I tested with NFSv3 and NFSv4 on all three supported memory
> registration modes. Used cthon04, iozone, and dbench with both
> Solaris and Linux NFS/RDMA servers. Used xfstests with Linux.
>
> v4:
>
> - Rebased on v3.16-rc6
>
> - Add Tested-by: from Shirley Ma and Devesh Sharma
>
>
> v3:
> Only two substantive changes:
>
> - Patch 08/21 now uses generic IB helpers for managing FRMR
> rkeys
>
> - Add Tested-by: from Steve Wise
>
>
> v2:
> Many patches from v1 have been written or replaced.
>
> The MW ref counting approach in v1 is abandoned. Instead, I've
> eliminated signaling FAST_REG_MR and LOCAL_INV, and added
> appropriate recovery mechanisms after a transport reconnect that
> should prevent rkey dis-synchrony entirely.
>
> A couple of optimizations have been added, including:
>
> - Allocating each MW separately rather than carving each out of a
> large piece of contiguous memory
>
> - Now that the receive CQ upcall handler dequeues a bundle of CQEs
> at once, fire off the reply handler tasklet just once per upcall
> to reduce context switches and how often hard IRQs are disabled
>
> ---
>
> Chuck Lever (21):
> xprtrdma: Fix panic in rpcrdma_register_frmr_external()
> xprtrdma: Protect ia->ri_id when unmapping/invalidating MRs
> xprtrdma: Limit data payload size for ALLPHYSICAL
> xprtrdma: Update rkeys after transport reconnect
> xprtrdma: On disconnect, don't ignore pending CQEs
> xprtrdma: Don't invalidate FRMRs if registration fails
> xprtrdma: Unclutter struct rpcrdma_mr_seg
> xprtrdma: Back off rkey when FAST_REG_MR fails
> xprtrdma: Chain together all MWs in same buffer pool
> xprtrdma: Properly handle exhaustion of the rb_mws list
> xprtrdma: Reset FRMRs when FAST_REG_MR is flushed by a disconnect
> xprtrdma: Reset FRMRs after a flushed LOCAL_INV Work Request
> xprtrdma: Don't post a LOCAL_INV in rpcrdma_register_frmr_external()
> xprtrdma: Disable completions for FAST_REG_MR Work Requests
> xprtrdma: Disable completions for LOCAL_INV Work Requests
> xprtrdma: Rename frmr_wr
> xprtrdma: Allocate each struct rpcrdma_mw separately
> xprtrdma: Schedule reply tasklet once per upcall
> xprtrdma: Make rpcrdma_ep_disconnect() return void
> xprtrdma: Remove RPCRDMA_PERSISTENT_REGISTRATION macro
> xprtrdma: Handle additional connection events
>
>
> include/linux/sunrpc/xprtrdma.h | 2
> include/rdma/ib_verbs.h | 11 +
> net/sunrpc/xprtrdma/rpc_rdma.c | 83 ++--
> net/sunrpc/xprtrdma/transport.c | 17 +
> net/sunrpc/xprtrdma/verbs.c | 744 ++++++++++++++++++++++++++-------------
> net/sunrpc/xprtrdma/xprt_rdma.h | 61 +++
> 6 files changed, 615 insertions(+), 303 deletions(-)
>
> --
> Chuck Lever
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-07-23 18:53 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-22 14:50 [PATCH v4 00/21] NFS/RDMA client patches for 3.17 Chuck Lever
2014-07-22 14:50 ` Chuck Lever
2014-07-22 14:51 ` [PATCH v4 01/21] xprtrdma: Fix panic in rpcrdma_register_frmr_external() Chuck Lever
2014-07-22 14:51 ` Chuck Lever
2014-07-22 14:51 ` [PATCH v4 02/21] xprtrdma: Protect ia->ri_id when unmapping/invalidating MRs Chuck Lever
2014-07-22 14:51 ` Chuck Lever
2014-07-22 14:51 ` [PATCH v4 03/21] xprtrdma: Limit data payload size for ALLPHYSICAL Chuck Lever
2014-07-22 14:51 ` Chuck Lever
2014-07-22 14:51 ` [PATCH v4 04/21] xprtrdma: Update rkeys after transport reconnect Chuck Lever
2014-07-22 14:51 ` Chuck Lever
2014-07-22 18:40 ` Anna Schumaker
2014-07-22 18:40 ` Anna Schumaker
2014-07-24 20:03 ` Chuck Lever
2014-07-24 20:03 ` Chuck Lever
2014-07-22 14:51 ` [PATCH v4 05/21] xprtrdma: On disconnect, don't ignore pending CQEs Chuck Lever
2014-07-22 14:51 ` Chuck Lever
2014-07-22 14:51 ` [PATCH v4 06/21] xprtrdma: Don't invalidate FRMRs if registration fails Chuck Lever
2014-07-22 14:51 ` Chuck Lever
2014-07-22 14:51 ` [PATCH v4 07/21] xprtrdma: Unclutter struct rpcrdma_mr_seg Chuck Lever
2014-07-22 14:51 ` Chuck Lever
2014-07-22 14:52 ` [PATCH v4 08/21] xprtrdma: Back off rkey when FAST_REG_MR fails Chuck Lever
2014-07-22 14:52 ` Chuck Lever
2014-07-22 20:03 ` Anna Schumaker
2014-07-22 20:03 ` Anna Schumaker
2014-07-22 21:18 ` Chuck Lever
2014-07-22 21:18 ` Chuck Lever
2014-07-23 13:44 ` Anna Schumaker
2014-07-23 13:44 ` Anna Schumaker
2014-07-24 13:24 ` Anna Schumaker
2014-07-24 13:24 ` Anna Schumaker
2014-07-30 19:11 ` Anna Schumaker
2014-07-30 19:11 ` Anna Schumaker
2014-07-22 14:52 ` [PATCH v4 09/21] xprtrdma: Chain together all MWs in same buffer pool Chuck Lever
2014-07-22 14:52 ` Chuck Lever
2014-07-22 14:52 ` [PATCH v4 10/21] xprtrdma: Properly handle exhaustion of the rb_mws list Chuck Lever
2014-07-22 14:52 ` Chuck Lever
2014-07-22 14:52 ` [PATCH v4 11/21] xprtrdma: Reset FRMRs when FAST_REG_MR is flushed by a disconnect Chuck Lever
2014-07-22 14:52 ` Chuck Lever
2014-07-22 14:52 ` [PATCH v4 12/21] xprtrdma: Reset FRMRs after a flushed LOCAL_INV Work Request Chuck Lever
2014-07-22 14:52 ` Chuck Lever
2014-07-22 14:52 ` [PATCH v4 13/21] xprtrdma: Don't post a LOCAL_INV in rpcrdma_register_frmr_external() Chuck Lever
2014-07-22 14:52 ` Chuck Lever
2014-07-22 14:53 ` [PATCH v4 14/21] xprtrdma: Disable completions for FAST_REG_MR Work Requests Chuck Lever
2014-07-22 14:53 ` Chuck Lever
2014-07-22 14:53 ` [PATCH v4 15/21] xprtrdma: Disable completions for LOCAL_INV " Chuck Lever
2014-07-22 14:53 ` Chuck Lever
2014-07-22 14:53 ` [PATCH v4 16/21] xprtrdma: Rename frmr_wr Chuck Lever
2014-07-22 14:53 ` Chuck Lever
2014-07-22 14:53 ` [PATCH v4 17/21] xprtrdma: Allocate each struct rpcrdma_mw separately Chuck Lever
2014-07-22 14:53 ` Chuck Lever
2014-07-22 14:53 ` [PATCH v4 18/21] xprtrdma: Schedule reply tasklet once per upcall Chuck Lever
2014-07-22 14:53 ` Chuck Lever
2014-07-22 14:53 ` [PATCH v4 19/21] xprtrdma: Make rpcrdma_ep_disconnect() return void Chuck Lever
2014-07-22 14:53 ` Chuck Lever
2014-07-22 14:53 ` [PATCH v4 20/21] xprtrdma: Remove RPCRDMA_PERSISTENT_REGISTRATION macro Chuck Lever
2014-07-22 14:53 ` Chuck Lever
2014-07-22 14:54 ` [PATCH v4 21/21] xprtrdma: Handle additional connection events Chuck Lever
2014-07-22 14:54 ` Chuck Lever
2014-07-23 18:53 ` Anna Schumaker [this message]
2014-07-23 18:53 ` [PATCH v4 00/21] NFS/RDMA client patches for 3.17 Anna Schumaker
2014-07-23 21:23 ` Chuck Lever
2014-07-23 21:23 ` Chuck Lever
2014-07-24 13:19 ` Anna Schumaker
2014-07-24 13:19 ` Anna Schumaker
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=53D004A0.7030803@Netapp.com \
--to=anna.schumaker@netapp.com \
--cc=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.