linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] NFS/RDMA server patches for 3.17
@ 2014-07-15 17:54 Chuck Lever
       [not found] ` <20140715175144.3448.48674.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Chuck Lever @ 2014-07-15 17:54 UTC (permalink / raw)
  To: swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW
  Cc: linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA

Hi Steve-

Can you include these 3.17 candidate patches in your testing branch?

v2:

- Second patch replaced with a lower-level fix

---

Chuck Lever (2):
      svcrdma: Add zero padding if the client doesn't send it
      svcrdma: Increase credit limit to 32


 include/linux/sunrpc/svc_rdma.h         |    3 +--
 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c |   28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 2 deletions(-)

-- 
Chuck Lever
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/2] svcrdma: Increase credit limit to 32
       [not found] ` <20140715175144.3448.48674.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
@ 2014-07-15 17:54   ` Chuck Lever
  2014-07-15 17:55   ` [PATCH v2 2/2] svcrdma: Add zero padding if the client doesn't send it Chuck Lever
  2014-07-15 20:46   ` [PATCH v2 0/2] NFS/RDMA server patches for 3.17 Steve Wise
  2 siblings, 0 replies; 4+ messages in thread
From: Chuck Lever @ 2014-07-15 17:54 UTC (permalink / raw)
  To: swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW
  Cc: linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA

Signed-off-by: Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---

 include/linux/sunrpc/svc_rdma.h |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h
index 5cf99a0..975da75 100644
--- a/include/linux/sunrpc/svc_rdma.h
+++ b/include/linux/sunrpc/svc_rdma.h
@@ -174,8 +174,7 @@ struct svcxprt_rdma {
  * page size of 4k, or 32k * 2 ops / 4k = 16 outstanding RDMA_READ.  */
 #define RPCRDMA_ORD             (64/4)
 #define RPCRDMA_SQ_DEPTH_MULT   8
-#define RPCRDMA_MAX_THREADS     16
-#define RPCRDMA_MAX_REQUESTS    16
+#define RPCRDMA_MAX_REQUESTS    32
 #define RPCRDMA_MAX_REQ_SIZE    4096
 
 /* svc_rdma_marshal.c */

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v2 2/2] svcrdma: Add zero padding if the client doesn't send it
       [not found] ` <20140715175144.3448.48674.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
  2014-07-15 17:54   ` [PATCH v2 1/2] svcrdma: Increase credit limit to 32 Chuck Lever
@ 2014-07-15 17:55   ` Chuck Lever
  2014-07-15 20:46   ` [PATCH v2 0/2] NFS/RDMA server patches for 3.17 Steve Wise
  2 siblings, 0 replies; 4+ messages in thread
From: Chuck Lever @ 2014-07-15 17:55 UTC (permalink / raw)
  To: swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW
  Cc: linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA

See RFC 5666 section 3.7: clients don't have to send zero XDR
padding.

BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=246
Signed-off-by: Chuck Lever <chuck.lever-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---

 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index 8f92a61..3a45bf4 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -43,6 +43,7 @@
 #include <linux/sunrpc/debug.h>
 #include <linux/sunrpc/rpc_rdma.h>
 #include <linux/spinlock.h>
+#include <linux/highmem.h>
 #include <asm/unaligned.h>
 #include <rdma/ib_verbs.h>
 #include <rdma/rdma_cm.h>
@@ -435,6 +436,32 @@ static int rdma_read_chunks(struct svcxprt_rdma *xprt,
 	return ret;
 }
 
+/*
+ * To avoid a separate RDMA READ just for a handful of zero bytes,
+ * RFC 5666 section 3.7 allows the client to omit the XDR zero pad
+ * in chunk lists.
+ */
+static void
+rdma_fix_xdr_pad(struct xdr_buf *buf)
+{
+	unsigned int page_len = buf->page_len;
+	unsigned int size = (XDR_QUADLEN(page_len) << 2) - page_len;
+ 	unsigned int offset, pg_no;
+	char *p;
+
+	if (size == 0)
+		return;
+
+	pg_no = page_len >> PAGE_SHIFT;
+	offset = page_len & ~PAGE_MASK;
+	p = page_address(buf->pages[pg_no]);
+	memset(p + offset, 0, size);
+
+	buf->page_len += size;
+	buf->buflen += size;
+	buf->len += size;
+}
+
 static int rdma_read_complete(struct svc_rqst *rqstp,
 			      struct svc_rdma_op_ctxt *head)
 {
@@ -449,6 +476,7 @@ static int rdma_read_complete(struct svc_rqst *rqstp,
 		rqstp->rq_pages[page_no] = head->pages[page_no];
 	}
 	/* Point rq_arg.pages past header */
+	rdma_fix_xdr_pad(&head->arg);
 	rqstp->rq_arg.pages = &rqstp->rq_pages[head->hdr_count];
 	rqstp->rq_arg.page_len = head->arg.page_len;
 	rqstp->rq_arg.page_base = head->arg.page_base;

--
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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 0/2] NFS/RDMA server patches for 3.17
       [not found] ` <20140715175144.3448.48674.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
  2014-07-15 17:54   ` [PATCH v2 1/2] svcrdma: Increase credit limit to 32 Chuck Lever
  2014-07-15 17:55   ` [PATCH v2 2/2] svcrdma: Add zero padding if the client doesn't send it Chuck Lever
@ 2014-07-15 20:46   ` Steve Wise
  2 siblings, 0 replies; 4+ messages in thread
From: Steve Wise @ 2014-07-15 20:46 UTC (permalink / raw)
  To: Chuck Lever
  Cc: linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA, Veeresh U. Kokatnur

On 7/15/2014 12:54 PM, Chuck Lever wrote:
> Hi Steve-
>
> Can you include these 3.17 candidate patches in your testing branch?
>
> v2:
>
> - Second patch replaced with a lower-level fix
>

Done.

The for-test branch of git://git.linux-nfs.org/projects/swise/linux.git 
is now based on 3.16-rc5 plus:

Chuck Lever (23):
       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
       [v2,1/2] svcrdma: Increase credit limit to 32
       [v2,2/2] svcrdma: Add zero padding if the client doesn't send it

Hariprasad S (2):
       iw_cxgb4: Fix skb_leak in reject_cr
       iw_cxgb4: clean up connection on arp error

Steve Wise (3):
       iw_cxgb4: call iwpm_init() only once
       iw_cxgb4: initialize the device status page
       svcrdma: send_write() must not overflow the device's max sge

--
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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-07-15 20:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-15 17:54 [PATCH v2 0/2] NFS/RDMA server patches for 3.17 Chuck Lever
     [not found] ` <20140715175144.3448.48674.stgit-Hs+gFlyCn65vLzlybtyyYzGyq/o6K9yX@public.gmane.org>
2014-07-15 17:54   ` [PATCH v2 1/2] svcrdma: Increase credit limit to 32 Chuck Lever
2014-07-15 17:55   ` [PATCH v2 2/2] svcrdma: Add zero padding if the client doesn't send it Chuck Lever
2014-07-15 20:46   ` [PATCH v2 0/2] NFS/RDMA server patches for 3.17 Steve Wise

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).