]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: added statistics instead of prints
authorAmir Vadai <amirv@mellanox.co.il>
Wed, 30 Dec 2009 08:10:09 +0000 (10:10 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:46 +0000 (05:04 -0700)
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp.h
drivers/infiniband/ulp/sdp/sdp_proc.c
drivers/infiniband/ulp/sdp/sdp_zcopy.c

index 534c2761cfbacb494c8f3238ef83f0026c694a36..6a648c7afb285f6db7ee37dabb6391f9a5b6f143 100644 (file)
@@ -694,6 +694,8 @@ struct sdpstats {
        u32 tx_poll_busy;
        u32 memcpy_count;
        u32 credits_before_update[64];
+       u32 zcopy_tx_timeout;
+       u32 zcopy_tx_error;
 };
 
 static inline void sdpstats_hist(u32 *h, u32 val, u32 maxidx, int is_log)
index 23f099c1f82be38ab2686f23546cc3cc39fb5043..290b1edc9a3d1fceb69af2d14f1c83f965fe7f11 100644 (file)
@@ -285,6 +285,10 @@ static int sdpstats_seq_show(struct seq_file *seq, void *v)
        seq_printf(seq, "CQ stats:\n");
        seq_printf(seq, "- RX interrupts\t\t: %d\n", sdpstats.rx_int_count);
        seq_printf(seq, "- TX interrupts\t\t: %d\n", sdpstats.tx_int_count);
+
+       seq_printf(seq, "ZCopy stats:\n");
+       seq_printf(seq, "- TX timeout\t\t: %d\n", sdpstats.zcopy_tx_timeout);
+       seq_printf(seq, "- TX error\t\t: %d\n", sdpstats.zcopy_tx_error);
        return 0;
 }
 
index 69ad2dbc4307a58a255ba5f00af9f727c58bc3a5..39266976079111d5dd4d3a2ac73f6a5582ab8cf9 100644 (file)
@@ -169,7 +169,7 @@ static int sdp_wait_rdmardcompl(struct sdp_sock *ssk, long *timeo_p,
 
                else if (tx_sa->bytes_acked > tx_sa->bytes_sent) {
                        err = -EINVAL;
-                       sdp_warn(sk, "acked bytes > sent bytes\n");
+                       sdp_dbg_data(sk, "acked bytes > sent bytes\n");
                        tx_sa->abort_flags |= TX_SA_ERROR;
                        break;
                }
@@ -249,7 +249,7 @@ static void sdp_wait_rdma_wr_finished(struct sdp_sock *ssk)
                }
 
                if (!ssk->qp_active) {
-                       sdp_warn(sk, "QP destroyed\n");
+                       sdp_dbg_data(sk, "QP destroyed\n");
                        break;
                }
 
@@ -552,7 +552,7 @@ int sdp_rdma_to_iovec(struct sock *sk, struct iovec *iov, struct sk_buff *skb,
 
        sdp_prf(sk, skb, "Finished waiting(rc=%d)", rc);
        if (!ssk->qp_active) {
-               sdp_warn(sk, "QP destroyed during RDMA read\n");
+               sdp_dbg_data(sk, "QP destroyed during RDMA read\n");
                rc = -EPIPE;
                goto err_post_send;
        }
@@ -641,9 +641,12 @@ static int do_sdp_sendmsg_zcopy(struct sock *sk, struct tx_srcavail_state *tx_sa
                } else if (f & TX_SA_ERROR) {
                        sdp_dbg_data(sk, "SrcAvail error completion\n");
                        sdp_reset(sk);
+                       SDPSTATS_COUNTER_INC(zcopy_tx_error);
                } else if (ssk->qp_active) {
-                       if (!(f & TX_SA_INTRRUPTED))
-                               sdp_warn(sk, "abort_flag = 0x%x.\n", f);
+                       if (!(f & TX_SA_INTRRUPTED)) {
+                               sdp_dbg_data(sk, "abort_flag = 0x%x.\n", f);
+                               SDPSTATS_COUNTER_INC(zcopy_tx_timeout);
+                       }
 
                        sdp_post_srcavail_cancel(sk);
 
@@ -654,7 +657,7 @@ static int do_sdp_sendmsg_zcopy(struct sock *sk, struct tx_srcavail_state *tx_sa
                        sdp_wait_rdmardcompl(ssk, timeo, 1);
                        sdp_dbg_data(sk, "finished waiting\n");
                } else {
-                       sdp_warn(sk, "QP was destroyed while waiting\n");
+                       sdp_dbg_data(sk, "QP was destroyed while waiting\n");
                }
        } else {
                sdp_dbg_data(sk, "got RdmaRdCompl\n");