]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
IB/sdp:Split data path debug from not
authorMichael S. Tsirkin <mst@mellanox.co.il>
Wed, 19 Jul 2006 11:54:50 +0000 (14:54 +0300)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:03:51 +0000 (05:03 -0700)
(cherry picked from d7d5948842ab93dca50c0f38c9abf03489829d91 commit)

drivers/infiniband/ulp/sdp/sdp.h
drivers/infiniband/ulp/sdp/sdp_bcopy.c
drivers/infiniband/ulp/sdp/sdp_main.c

index 6997e87394d962929892e40bd8f79cb9f2da2757..39e462859e2c9501deea578c3ea6697f2e7f1e8d 100644 (file)
@@ -27,6 +27,18 @@ extern int sdp_debug_level;
        do { (void) (priv); } while (0)
 #endif /* CONFIG_INFINIBAND_SDP_DEBUG */
 
+#ifdef CONFIG_INFINIBAND_SDP_DEBUG_DATA
+extern int sdp_data_debug_level;
+#define sdp_dbg_data(sk, format, arg...)                     \
+       do {                                                 \
+               if (sdp_data_debug_level > 0)                \
+               sdp_printk(KERN_DEBUG, sk, format , ## arg); \
+       } while (0)
+#else
+#define sdp_dbg_data(priv, format, arg...)                   \
+       do { (void) (priv); } while (0)
+#endif
+
 #define SDP_RESOLVE_TIMEOUT 1000
 #define SDP_ROUTE_TIMEOUT 1000
 #define SDP_RETRY_COUNT 5
index 07e06dd70f823e92e90837b5c2d199672c7702a4..90007b6d9ffc40117491d169c8b03813f410216f 100644 (file)
@@ -299,7 +299,7 @@ static inline void update_send_head(struct sock *sk, struct sk_buff *skb)
 
 void sdp_post_sends(struct sdp_sock *ssk, int nonagle)
 {
-       /* TODO: nonagle */
+       /* TODO: nonagle? */
        struct sk_buff *skb;
        int c;
 
@@ -365,9 +365,9 @@ static void sdp_handle_wc(struct sdp_sock *ssk, struct ib_wc *wc)
                        wake_up(&ssk->wq);
                } else {
                        /* TODO: handle msg < bsdh */
-                       sdp_dbg(&ssk->isk.sk,
-                               "Recv completion. ID %d Length %d\n",
-                               (int)wc->wr_id, wc->byte_len);
+                       sdp_dbg_data(&ssk->isk.sk,
+                                    "Recv completion. ID %d Length %d\n",
+                                    (int)wc->wr_id, wc->byte_len);
                        skb->len = wc->byte_len;
                        skb->data_len = wc->byte_len - sizeof(struct sdp_bsdh);
                        if (unlikely(skb->data_len < 0)) {
@@ -449,7 +449,7 @@ void sdp_work(void *data)
        struct ib_cq *cq;
        int n, i;
 
-       sdp_dbg(sk, "%s\n", __func__);
+       sdp_dbg_data(sk, "%s\n", __func__);
 
        cq = ssk->cq;
        if (unlikely(!cq))
index a7f4a983755ed2aabf5faafd91b467b5d113ec76..7b6dc3c04aee9f9ad8b4fceab679a713694a6e55 100644 (file)
@@ -73,6 +73,12 @@ int sdp_debug_level;
 module_param_named(debug_level, sdp_debug_level, int, 0644);
 MODULE_PARM_DESC(debug_level, "Enable debug tracing if > 0.");
 #endif
+#ifdef CONFIG_INFINIBAND_SDP_DEBUG
+int sdp_data_debug_level;
+
+module_param_named(data_debug_level, sdp_data_debug_level, int, 0644);
+MODULE_PARM_DESC(data_debug_level, "Enable data path debug tracing if > 0.");
+#endif
 
 struct workqueue_struct *sdp_workqueue;
 
@@ -826,7 +832,7 @@ int sdp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
        long timeo;
 
        lock_sock(sk);
-       sdp_dbg(sk, "%s\n", __func__);
+       sdp_dbg_data(sk, "%s\n", __func__);
 
        flags = msg->msg_flags;
        timeo = sock_sndtimeo(sk, flags & MSG_DONTWAIT);
@@ -1050,7 +1056,7 @@ static int sdp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
        int urg_data = 0;
 
        lock_sock(sk);
-       sdp_dbg(sk, "%s\n", __func__);
+       sdp_dbg_data(sk, "%s\n", __func__);
 
        err = -ENOTCONN;
        if (sk->sk_state == TCP_LISTEN)
@@ -1132,21 +1138,21 @@ static int sdp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
                        release_sock(sk);
                        lock_sock(sk);
                } else {
-                       sdp_dbg(sk, "%s: sk_wait_data %ld\n", __func__, timeo);
+                       sdp_dbg_data(sk, "%s: sk_wait_data %ld\n", __func__, timeo);
                        sk_wait_data(sk, &timeo);
                }
                continue;
 
        found_ok_skb:
-               sdp_dbg(sk, "%s: found_ok_skb len %d\n", __func__, skb->len);
-               sdp_dbg(sk, "%s: len %Zd offset %d\n", __func__, len, offset);
-               sdp_dbg(sk, "%s: copied %d target %d\n", __func__, copied, target);
+               sdp_dbg_data(sk, "%s: found_ok_skb len %d\n", __func__, skb->len);
+               sdp_dbg_data(sk, "%s: len %Zd offset %d\n", __func__, len, offset);
+               sdp_dbg_data(sk, "%s: copied %d target %d\n", __func__, copied, target);
                urg_data = sdp_has_urgent_data(skb);
                used = skb->len - offset;
                if (len < used)
                        used = len;
 
-               sdp_dbg(sk, "%s: used %ld\n", __func__, used);
+               sdp_dbg_data(sk, "%s: used %ld\n", __func__, used);
 
                if (!(flags & MSG_TRUNC)) {
                        int err;
@@ -1167,7 +1173,7 @@ static int sdp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
                 copied += used;
                 len -= used;
                offset += used;
-               sdp_dbg(sk, "%s: done copied %d target %d\n", __func__, copied, target);
+               sdp_dbg_data(sk, "%s: done copied %d target %d\n", __func__, copied, target);
 
                sdp_rcv_space_adjust(sk);
 
@@ -1276,7 +1282,7 @@ static unsigned int sdp_poll(struct file *file, struct socket *socket,
                             struct poll_table_struct *wait)
 {
        int mask;
-       sdp_dbg(socket->sk, "%s\n", __func__);
+       sdp_dbg_data(socket->sk, "%s\n", __func__);
 
        mask = datagram_poll(file, socket, wait);
        /* TODO: Slightly ugly: it would be nicer if there was function