[PVFS2-CVS] commit by slang in pvfs2/src/io/trove/trove-dbpf: dbpf-bstream.c dbpf-dspace.c dbpf.h

CVS commit program cvs at parl.clemson.edu
Fri Jun 3 12:19:06 EDT 2005


Update of /anoncvs/pvfs2/src/io/trove/trove-dbpf
In directory parlweb:/tmp/cvs-serv12358/src/io/trove/trove-dbpf

Modified Files:
      Tag: slang-event-changes-branch
	dbpf-bstream.c dbpf-dspace.c dbpf.h 
Log Message:
* added event logging for states
* moved state debug code to state-machine so all state start/end
points get debug messages automatically
* added textlog stuff.  This allows us to write the default event
queue out to a text file that can be converted to slog2 later.


Index: dbpf-bstream.c
===================================================================
RCS file: /anoncvs/pvfs2/src/io/trove/trove-dbpf/dbpf-bstream.c,v
diff -p -u -r1.55 -r1.55.2.1
--- dbpf-bstream.c	18 May 2005 19:56:15 -0000	1.55
+++ dbpf-bstream.c	3 Jun 2005 15:19:05 -0000	1.55.2.1
@@ -857,8 +857,7 @@ static inline int dbpf_bstream_rw_list(T
                         user_ptr,
                         flags,
                         context_id);
-
-    DBPF_EVENT_START(event_type, q_op_p->op.id);
+    DBPF_EVENT_START(event_type, user_ptr, q_op_p->op.id);
 
     /* initialize op-specific members */
     q_op_p->op.u.b_rw_list.fd = -1;

Index: dbpf-dspace.c
===================================================================
RCS file: /anoncvs/pvfs2/src/io/trove/trove-dbpf/dbpf-dspace.c,v
diff -p -u -r1.121 -r1.121.4.1
--- dbpf-dspace.c	3 Mar 2005 21:07:56 -0000	1.121
+++ dbpf-dspace.c	3 Jun 2005 15:19:05 -0000	1.121.4.1
@@ -64,16 +64,16 @@ static inline void organize_post_op_stat
             UPDATE_PERF_METADATA_READ();
             break;
         case BSTREAM_READ_LIST:
-            DBPF_EVENT_END(PVFS_EVENT_TROVE_READ_LIST, op_id); 
+            DBPF_EVENT_END(PVFS_EVENT_TROVE_READ_LIST, NULL, op_id); 
             break;
         case BSTREAM_WRITE_LIST:
-            DBPF_EVENT_END(PVFS_EVENT_TROVE_WRITE_LIST, op_id); 
+            DBPF_EVENT_END(PVFS_EVENT_TROVE_WRITE_LIST, NULL, op_id); 
             break;
         default:
             break;
         case DSPACE_CREATE:
             UPDATE_PERF_METADATA_WRITE();
-            DBPF_EVENT_END(PVFS_EVENT_TROVE_DSPACE_CREATE, op_id); 
+            DBPF_EVENT_END(PVFS_EVENT_TROVE_DSPACE_CREATE, NULL, op_id); 
             break;
     }
 }
@@ -125,7 +125,7 @@ static int dbpf_dspace_create(TROVE_coll
                         flags,
                         context_id);
 
-    DBPF_EVENT_START(PVFS_EVENT_TROVE_DSPACE_CREATE, q_op_p->op.id);
+    DBPF_EVENT_START(PVFS_EVENT_TROVE_DSPACE_CREATE, user_ptr, q_op_p->op.id);
 
     /* this array is freed in dbpf-op.c:dbpf_queued_op_free */
     q_op_p->op.u.d_create.extent_array.extent_count =

Index: dbpf.h
===================================================================
RCS file: /anoncvs/pvfs2/src/io/trove/trove-dbpf/dbpf.h,v
diff -p -u -r1.54 -r1.54.6.1
--- dbpf.h	14 Jan 2005 20:43:24 -0000	1.54
+++ dbpf.h	3 Jun 2005 15:19:06 -0000	1.54.6.1
@@ -60,15 +60,32 @@ extern "C" {
 (((__id << ((sizeof(__id) - 1) * 8)) | __handle) %                       \
    DBPF_BSTREAM_MAX_NUM_BUCKETS)
 
-#define DBPF_EVENT_START(__op, __id)                                     \
- PINT_event_timestamp(PVFS_EVENT_API_TROVE, __op, 0, __id,               \
- PVFS_EVENT_FLAG_START)
+enum __nullenum { __null = 1 };
+#define DBPF_EVENT_REQID(__ptr) \
+    ((void *)((__ptr + (sizeof(void *))) \
+              + (sizeof(enum __nullenum)) + (sizeof(uint64_t))))
 
-#define DBPF_EVENT_END(__op, __id)                                       \
- PINT_event_timestamp(PVFS_EVENT_API_TROVE, __op, 0, __id,               \
- PVFS_EVENT_FLAG_END)
+#define DBPF_EVENT_START(__op, __ptr, __id)                            \
+do                                                                     \
+{                                                                      \
+    PVFS_id_gen_t __reqid = 0;                                         \
+    if(__ptr)                                                          \
+        id_gen_fast_register(&__reqid, DBPF_EVENT_REQID(__ptr));       \
+    PINT_event_timestamp(PVFS_EVENT_API_TROVE, __op, 0, __id,          \
+                         PVFS_EVENT_FLAG_START, 0, __reqid);           \
+} while(0)
 
-#define DBPF_GET_STORAGE_DIRNAME(__buf, __path_max, __stoname)                 \
+#define DBPF_EVENT_END(__op, __ptr, __id)                              \
+do                                                                     \
+{                                                                      \
+    PVFS_id_gen_t __reqid = 0;                                         \
+    if(__ptr)                                                          \
+        id_gen_fast_register(&__reqid, DBPF_EVENT_REQID(__ptr));       \
+    PINT_event_timestamp(PVFS_EVENT_API_TROVE, __op, 0, __id,          \
+                         PVFS_EVENT_FLAG_END, 0, __reqid);             \
+} while(0)
+
+#define DBPF_GET_STORAGE_DIRNAME(__buf, __path_max, __stoname)         \
 do { snprintf(__buf, __path_max, "/%s", __stoname); } while (0)
 
 #define STO_ATTRIB_DBNAME "storage_attributes.db"



More information about the PVFS2-CVS mailing list