]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: added the ability to use sdpprf for any debug message
authorEldad Zinger <eldadz@mellanox.co.il>
Sun, 15 Aug 2010 07:40:02 +0000 (10:40 +0300)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:05:19 +0000 (05:05 -0700)
Signed-off-by: Eldad Zinger <eldadz@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp.h
drivers/infiniband/ulp/sdp/sdp_bcopy.c
drivers/infiniband/ulp/sdp/sdp_cma.c
drivers/infiniband/ulp/sdp/sdp_dbg.h
drivers/infiniband/ulp/sdp/sdp_proc.c

index 4439b7b0b49cca6bd0f0dc55cfedc8d3ea1184ee..8390f37f75a7ad8a6a71dab4ae18b14fa590d0a4 100644 (file)
@@ -515,10 +515,10 @@ static inline int _sdp_exch_state(const char *func, int line, struct sock *sk,
                sdp_state_str(state), from_states);
 
        if ((1 << sk->sk_state) & ~from_states) {
-               sdp_warn(sk, "trying to exchange state from unexpected state "
-                       "%s to state %s. expected states: 0x%x\n",
-                       sdp_state_str(sk->sk_state), sdp_state_str(state),
-                       from_states);
+               sdp_warn(sk, "%s:%d: trying to exchange state from unexpected "
+                               "state %s to state %s. expected states: 0x%x\n",
+                               func, line, sdp_state_str(sk->sk_state),
+                               sdp_state_str(state), from_states);
        }
 
        old = sk->sk_state;
index 3fba26203f618f7301b37f399fc041c9eb606922..fe00c838771c62a141b8b175a6fc60ce0f19d386 100644 (file)
@@ -96,6 +96,7 @@ void _dump_packet(const char *func, int line, struct sock *sk, char *str,
        }
        buf[len] = 0;
        _sdp_printk(func, line, KERN_WARNING, sk, "%s: %s\n", str, buf);
+       _sdp_prf(sk, skb, func, line, "%s: %s", str, buf);
 }
 #endif
 
index 6cc6a7cd6c7f1c82364e2a4e95c735bbd50d3cc3..e5082b76561ade7e7b9291f1e7477ded92a7e645 100644 (file)
@@ -324,8 +324,8 @@ int sdp_cma_handler(struct rdma_cm_id *id, struct rdma_cm_event *event)
 
        sk = id->context;
        if (!sk) {
-               sdp_dbg(NULL, "cm_id is being torn down, event %d\n",
-                       event->event);
+               sdp_dbg(NULL, "cm_id is being torn down, event %s\n",
+                       rdma_cm_event_str(event->event));
                return event->event == RDMA_CM_EVENT_CONNECT_REQUEST ?
                        -EINVAL : 0;
        }
@@ -483,7 +483,7 @@ int sdp_cma_handler(struct rdma_cm_id *id, struct rdma_cm_event *event)
                break;
        }
 
-       sdp_dbg(sk, "%s event %d handled\n", __func__, event->event);
+       sdp_dbg(sk, "event: %s handled\n", rdma_cm_event_str(event->event));
 
        if (rc && sdp_sk(sk)->id == id) {
                child = sk;
@@ -496,7 +496,8 @@ int sdp_cma_handler(struct rdma_cm_id *id, struct rdma_cm_event *event)
 
        release_sock(sk);
 
-       sdp_dbg(sk, "event %d done. status %d\n", event->event, rc);
+       sdp_dbg(sk, "event: %s done. status %d\n",
+                       rdma_cm_event_str(event->event), rc);
 
        if (parent) {
                lock_sock(parent);
index ba4d8c083feb381ba34904639e6e5005ab9ce83c..6d7d8e6db33db30acd02c25bc48585c8aff6ec62 100644 (file)
 } while (0)
 #define sdp_printk(level, sk, format, arg...)                \
        _sdp_printk(__func__, __LINE__, level, sk, format, ## arg)
-#define sdp_warn(sk, format, arg...)                         \
-       sdp_printk(KERN_WARNING, sk, format , ## arg)
+#define sdp_warn(sk, format, arg...)                                   \
+       do {                                                            \
+               sdp_printk(KERN_WARNING, sk, "\t%lx: " format , jiffies, ## arg); \
+               sdp_prf(sk, NULL, format , ## arg);                     \
+       } while (0)
 
 #define SDP_MODPARAM_SINT(var, def_val, msg) \
        static int var = def_val; \
@@ -67,7 +70,7 @@ static inline unsigned long long current_nsec(void)
 #define current_nsec() jiffies_to_usecs(jiffies)
 #endif
 
-#define sdp_prf1(sk, s, format, arg...) ({ \
+#define _sdp_prf(sk, s, _func, _line, format, arg...) ({ \
        struct sdpprf_log *l = \
                &sdpprf_log[sdpprf_log_count++ & (SDPPRF_LOG_SIZE - 1)]; \
        preempt_disable(); \
@@ -79,14 +82,17 @@ static inline unsigned long long current_nsec(void)
        l->skb = s; \
        snprintf(l->msg, sizeof(l->msg) - 1, format, ## arg); \
        l->time = current_nsec(); \
-       l->func = __func__; \
-       l->line = __LINE__; \
+       l->func = _func; \
+       l->line = _line; \
        preempt_enable(); \
        1; \
 })
+#define sdp_prf1(sk, s, format, arg...)        \
+       _sdp_prf(sk, s, __func__, __LINE__, format, ## arg)
 #define sdp_prf(sk, s, format, arg...) sdp_prf1(sk, s, format, ## arg)
 
 #else
+#define _sdp_prf(sk, s, _func, _line, format, arg...)
 #define sdp_prf1(sk, s, format, arg...)
 #define sdp_prf(sk, s, format, arg...)
 #endif
@@ -94,10 +100,11 @@ static inline unsigned long long current_nsec(void)
 #ifdef CONFIG_INFINIBAND_SDP_DEBUG
 extern int sdp_debug_level;
 
-#define sdp_dbg(sk, format, arg...)                          \
-       do {                                                 \
-               if (sdp_debug_level > 0)                     \
-               sdp_printk(KERN_WARNING, sk, format , ## arg); \
+#define sdp_dbg(sk, format, arg...)                                    \
+       do {                                                            \
+               if (sdp_debug_level > 0)                                \
+                       sdp_printk(KERN_WARNING, sk, format , ## arg);  \
+               sdp_prf(sk, NULL, format , ## arg);                     \
        } while (0)
 
 #define sock_ref(sk, msg, sock_op) ({ \
@@ -121,15 +128,16 @@ extern int sdp_debug_level;
 #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 & 0x2)                         \
-                       sdp_printk(KERN_WARNING, sk, format , ## arg);  \
+#define sdp_dbg_data(sk, format, arg...)                               \
+       do {                                                            \
+               if (sdp_data_debug_level & 0x2)                         \
+                       sdp_printk(KERN_WARNING, sk, format , ## arg);  \
+               sdp_prf(sk, NULL, format , ## arg);                     \
        } while (0)
 #define SDP_DUMP_PACKET(sk, str, skb, h)                               \
        do {                                                            \
-               if (sdp_data_debug_level & 0x1)                         \
-                       dump_packet(sk, str, skb, h);                   \
+               if (sdp_data_debug_level & 0x1)                         \
+                       dump_packet(sk, str, skb, h);                   \
        } while (0)
 #else
 #define sdp_dbg_data(priv, format, arg...)
index 2da8e402d85cb7547c5f884ae588155ffec08333..3faa8271344d2224a4941bbb3481c7fc1ad1b4a3 100644 (file)
@@ -379,6 +379,15 @@ int sdpprf_log_count;
 
 static unsigned long long start_t;
 
+static inline void remove_newline(char *s)
+{
+       while (*s) {
+               if (*s == '\n')
+                       *s = '\0';
+               ++s;
+       }
+}
+
 static int sdpprf_show(struct seq_file *m, void *v)
 {
        struct sdpprf_log *l = v;
@@ -391,7 +400,7 @@ static int sdpprf_show(struct seq_file *m, void *v)
 
        t = l->time - start_t;
        nsec_rem = do_div(t, 1000000000);
-
+       remove_newline(l->msg);
        seq_printf(m, "%-6d: [%5lu.%06lu] %-50s - [%d{%d} %d:%d] "
                        "skb: %p %s:%d\n",
                        l->idx, (unsigned long)t, nsec_rem/1000,