aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2016-09-13 10:53:23 -0400
committerJ. Bruce Fields <bfields@redhat.com>2016-09-23 10:18:54 -0400
commit25d55296dd3eac23adb2ae46b67b65bf73b22fb2 (patch)
tree24d4dd901b6e04d50a5a19059ef67990494b4f1e /include/linux/sunrpc
parentcc9d83408b52265ddab2874cf19d1611da4ca7ee (diff)
svcrdma: support Remote Invalidation
Support Remote Invalidation. A private message is exchanged with the client upon RDMA transport connect that indicates whether Send With Invalidation may be used by the server to send RPC replies. The invalidate_rkey is arbitrarily chosen from among rkeys present in the RPC-over-RDMA header's chunk lists. Send With Invalidate improves performance only when clients can recognize, while processing an RPC reply, that an rkey has already been invalidated. That has been submitted as a separate change. In the future, the RPC-over-RDMA protocol might support Remote Invalidation properly. The protocol needs to enable signaling between peers to indicate when Remote Invalidation can be used for each individual RPC. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r--include/linux/sunrpc/svc_rdma.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h
index 3584bc8864c4..cc3ae16eac68 100644
--- a/include/linux/sunrpc/svc_rdma.h
+++ b/include/linux/sunrpc/svc_rdma.h
@@ -137,6 +137,7 @@ struct svcxprt_rdma {
137 int sc_ord; /* RDMA read limit */ 137 int sc_ord; /* RDMA read limit */
138 int sc_max_sge; 138 int sc_max_sge;
139 int sc_max_sge_rd; /* max sge for read target */ 139 int sc_max_sge_rd; /* max sge for read target */
140 bool sc_snd_w_inv; /* OK to use Send With Invalidate */
140 141
141 atomic_t sc_sq_count; /* Number of SQ WR on queue */ 142 atomic_t sc_sq_count; /* Number of SQ WR on queue */
142 unsigned int sc_sq_depth; /* Depth of SQ */ 143 unsigned int sc_sq_depth; /* Depth of SQ */