diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2015-08-03 13:04:45 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2015-08-05 16:21:28 -0400 |
commit | 860477d1ff176549f2bf438b61e5c1ec6b1d43e5 (patch) | |
tree | fafc7241fe5404c204e007ad9af7a621d0143d18 /net | |
parent | 763f7e4e4b9033ac6a0f13aa37ba43636fc3c0af (diff) |
xprtrdma: Count RDMA_NOMSG type calls
RDMA_NOMSG type calls are less efficient than RDMA_MSG. Count NOMSG
calls so administrators can tell if they happen to be used more than
expected.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Devesh Sharma <devesh.sharma@avagotech.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/xprtrdma/rpc_rdma.c | 1 | ||||
-rw-r--r-- | net/sunrpc/xprtrdma/transport.c | 5 | ||||
-rw-r--r-- | net/sunrpc/xprtrdma/xprt_rdma.h | 1 |
3 files changed, 5 insertions, 2 deletions
diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c index 272158623b00..bc8bd6577467 100644 --- a/net/sunrpc/xprtrdma/rpc_rdma.c +++ b/net/sunrpc/xprtrdma/rpc_rdma.c | |||
@@ -489,6 +489,7 @@ rpcrdma_marshal_req(struct rpc_rqst *rqst) | |||
489 | } else if (rqst->rq_snd_buf.flags & XDRBUF_WRITE) { | 489 | } else if (rqst->rq_snd_buf.flags & XDRBUF_WRITE) { |
490 | rtype = rpcrdma_readch; | 490 | rtype = rpcrdma_readch; |
491 | } else { | 491 | } else { |
492 | r_xprt->rx_stats.nomsg_call_count++; | ||
492 | headerp->rm_type = htonl(RDMA_NOMSG); | 493 | headerp->rm_type = htonl(RDMA_NOMSG); |
493 | rtype = rpcrdma_areadch; | 494 | rtype = rpcrdma_areadch; |
494 | rpclen = 0; | 495 | rpclen = 0; |
diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index 0985b2b5de9d..64443eb754ad 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c | |||
@@ -659,7 +659,7 @@ static void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq) | |||
659 | xprt->stat.bad_xids, | 659 | xprt->stat.bad_xids, |
660 | xprt->stat.req_u, | 660 | xprt->stat.req_u, |
661 | xprt->stat.bklog_u); | 661 | xprt->stat.bklog_u); |
662 | seq_printf(seq, "%lu %lu %lu %llu %llu %llu %llu %lu %lu %lu\n", | 662 | seq_printf(seq, "%lu %lu %lu %llu %llu %llu %llu %lu %lu %lu %lu\n", |
663 | r_xprt->rx_stats.read_chunk_count, | 663 | r_xprt->rx_stats.read_chunk_count, |
664 | r_xprt->rx_stats.write_chunk_count, | 664 | r_xprt->rx_stats.write_chunk_count, |
665 | r_xprt->rx_stats.reply_chunk_count, | 665 | r_xprt->rx_stats.reply_chunk_count, |
@@ -669,7 +669,8 @@ static void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq) | |||
669 | r_xprt->rx_stats.fixup_copy_count, | 669 | r_xprt->rx_stats.fixup_copy_count, |
670 | r_xprt->rx_stats.hardway_register_count, | 670 | r_xprt->rx_stats.hardway_register_count, |
671 | r_xprt->rx_stats.failed_marshal_count, | 671 | r_xprt->rx_stats.failed_marshal_count, |
672 | r_xprt->rx_stats.bad_reply_count); | 672 | r_xprt->rx_stats.bad_reply_count, |
673 | r_xprt->rx_stats.nomsg_call_count); | ||
673 | } | 674 | } |
674 | 675 | ||
675 | static int | 676 | static int |
diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h index 8422c09043b0..d252457ff21a 100644 --- a/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/net/sunrpc/xprtrdma/xprt_rdma.h | |||
@@ -340,6 +340,7 @@ struct rpcrdma_stats { | |||
340 | unsigned long hardway_register_count; | 340 | unsigned long hardway_register_count; |
341 | unsigned long failed_marshal_count; | 341 | unsigned long failed_marshal_count; |
342 | unsigned long bad_reply_count; | 342 | unsigned long bad_reply_count; |
343 | unsigned long nomsg_call_count; | ||
343 | }; | 344 | }; |
344 | 345 | ||
345 | /* | 346 | /* |