[openib-general] [PATCH] uDAPL common code to build with counters

Arlin Davis arlin.r.davis at intel.com
Wed Aug 3 13:42:00 PDT 2005


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? 

Thanks,

-arlin


Signed-off by: Arlin Davis <ardavis at ichips.intel.com>


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 */
+#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 };
 
 /*
  * The order of this list must match exactly with the #defines
@@ -89,6 +89,22 @@ char  *dapl_dbg_counter_names[] = {
 	0
 };
 
+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






More information about the general mailing list