On Wed, 3 Aug 2005, Arlin Davis wrote:

James,

I tried to build uDAPL with counters to debug my wait/wakeup problem but ran 
into some build
problems. Can you review the following patch to enable counters?

Not sure what happened to dapl_counters.h?

I'm not either. I'll look into it.

A couple of questions:


Thanks,

-arlin


Signed-off by: Arlin Davis <[EMAIL PROTECTED]>


Index: dapl/include/dapl_debug.h
===================================================================
--- dapl/include/dapl_debug.h   (revision 2967)
+++ dapl/include/dapl_debug.h   (working copy)
@@ -64,7 +64,9 @@ typedef enum
    DAPL_DBG_TYPE_API           = 0x0100,
    DAPL_DBG_TYPE_RTN           = 0x0200,
    DAPL_DBG_TYPE_EXCEPTION     = 0x0400,
-    DAPL_DBG_TYPE_SRQ          = 0x0800
+    DAPL_DBG_TYPE_SRQ          = 0x0800,
+    DAPL_DBG_TYPE_CNTR         = 0x1000
+
} DAPL_DBG_TYPE;

typedef enum
@@ -110,12 +112,21 @@ extern void dapl_internal_dbg_log ( DAPL
#define DCNT_EVD_DEQUEUE_NOT_FOUND      18
#define DCNT_TIMER_SET                  19
#define DCNT_TIMER_CANCEL               20
-#define DCNT_LAST_COUNTER              22 /* Always the last counter */
+#define DCNT_LAST_COUNTER              21 /* Always the last counter */

What do you think of changing the name of DCNT_LAST_COUNTER to DCNT_NUM_COUNTERS?

+#define DCNT_ALL_COUNTERS               DCNT_LAST_COUNTER

#if defined(DAPL_COUNTERS)
-#include "dapl_counters.h"

-#define DAPL_CNTR(cntr)        dapl_os_atomic_inc (&dapl_dbg_counters[cntr]);
+extern void dapl_dump_cntr( int cntr );
+extern int dapl_dbg_counters[];
+
+#define DAPL_CNTR(cntr)         dapl_os_atomic_inc (&dapl_dbg_counters[cntr]);
+#define DAPL_DUMP_CNTR(cntr)    dapl_dump_cntr( cntr );
+#define DAPL_COUNTERS_INIT()
+#define DAPL_COUNTERS_NEW(__tag, __id)
+#define DAPL_COUNTERS_RESET(__id, __incr)
+#define DAPL_COUNTERS_INCR(__id, __incr)
+
#else

#define DAPL_CNTR(cntr)
Index: dapl/common/dapl_debug.c
===================================================================
--- dapl/common/dapl_debug.c    (revision 2967)
+++ dapl/common/dapl_debug.c    (working copy)
@@ -58,7 +58,7 @@ void dapl_internal_dbg_log ( DAPL_DBG_TY
}

#if defined(DAPL_COUNTERS)
-long dapl_dbg_counters[DAPL_CNTR_MAX];
+int dapl_dbg_counters[DCNT_LAST_COUNTER+1] = { 0 };

How about making the array size equal to DCNT_LAST_COUNTER (aka DCNT_NUM_COUNTERS) and ...


/*
 * The order of this list must match exactly with the #defines
@@ -89,6 +89,22 @@ char  *dapl_dbg_counter_names[] = {
        0

... getting rid of this extra placeholder.

};

+void dapl_dump_cntr( int cntr )
+{
+    int i;
+
+    for ( i=0;i<DCNT_LAST_COUNTER;i++ )
+    {
+        if (( cntr == i ) || ( cntr == DCNT_ALL_COUNTERS ))
+        {
+            dapl_dbg_log (  DAPL_DBG_TYPE_CNTR,
+                            "DAPL Counter: %s = %lu \n",
+                            dapl_dbg_counter_names[i],
+                            dapl_dbg_counters[i] );
+        }
+    }
+}
+
#endif /* DAPL_COUNTERS */
#endif
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to