[Darshan-commits] [Git][darshan/darshan][master] 3 commits: typo in MPIIO write start timestamp logic

Philip Carns xgitlab at cels.anl.gov
Wed Oct 5 16:08:52 CDT 2016


Philip Carns pushed to branch master at darshan / darshan


Commits:
48d37a1c by Phil Carns at 2016-10-05T16:52:13-04:00
typo in MPIIO write start timestamp logic

bug reported by William Yoo

- - - - -
25f7f12e by Phil Carns at 2016-10-05T16:53:58-04:00
update Changelog

- - - - -
0727203c by Phil Carns at 2016-10-05T17:07:26-04:00
bump mpiio module version and print warning on old

- - - - -


4 changed files:

- ChangeLog
- darshan-mpiio-log-format.h
- darshan-runtime/lib/darshan-mpiio.c
- darshan-util/darshan-mpiio-logutils.c


Changes:

=====================================
ChangeLog
=====================================
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,12 @@
 Darshan Release Change Log
 --------------------------
 
+Darshan-3.1.1
+=============
+* bug fix to MPIIO_F_WRITE_START_TIMESTAMP, which may have produced incorrect
+  timestamps in some cases
+  - reported by Wucherl (William) Yoo
+
 Darshan-3.1.0
 =============
 * add stdio I/O library instrumentation module (Philip Carns)


=====================================
darshan-mpiio-log-format.h
=====================================
--- a/darshan-mpiio-log-format.h
+++ b/darshan-mpiio-log-format.h
@@ -8,7 +8,7 @@
 #define __DARSHAN_MPIIO_LOG_FORMAT_H
 
 /* current MPI-IO log format version */
-#define DARSHAN_MPIIO_VER 1
+#define DARSHAN_MPIIO_VER 2
 
 /* TODO: maybe use a counter to track cases in which a derived datatype is used? */
 


=====================================
darshan-runtime/lib/darshan-mpiio.c
=====================================
--- a/darshan-runtime/lib/darshan-mpiio.c
+++ b/darshan-runtime/lib/darshan-mpiio.c
@@ -193,7 +193,7 @@ static int my_rank = -1;
         rec_ref->file_rec->counters[MPIIO_RW_SWITCHES] += 1; \
     rec_ref->last_io_type = DARSHAN_IO_WRITE; \
     if(rec_ref->file_rec->fcounters[MPIIO_F_WRITE_START_TIMESTAMP] == 0 || \
-     rec_ref->file_rec->fcounters[MPIIO_F_READ_START_TIMESTAMP] > __tm1) \
+     rec_ref->file_rec->fcounters[MPIIO_F_WRITE_START_TIMESTAMP] > __tm1) \
         rec_ref->file_rec->fcounters[MPIIO_F_WRITE_START_TIMESTAMP] = __tm1; \
     rec_ref->file_rec->fcounters[MPIIO_F_WRITE_END_TIMESTAMP] = __tm2; \
     if(rec_ref->file_rec->fcounters[MPIIO_F_MAX_WRITE_TIME] < __elapsed) { \


=====================================
darshan-util/darshan-mpiio-logutils.c
=====================================
--- a/darshan-util/darshan-mpiio-logutils.c
+++ b/darshan-util/darshan-mpiio-logutils.c
@@ -64,7 +64,7 @@ static int darshan_log_get_mpiio_file(darshan_fd fd, void** mpiio_buf_p)
         if(!file)
             return(-1);
     }
-
+    
     ret = darshan_log_get_mod(fd, DARSHAN_MPIIO_MOD, file,
         sizeof(struct darshan_mpiio_file));
 
@@ -165,6 +165,12 @@ static void darshan_log_print_mpiio_description(int ver)
     printf("#   MPIIO_F_*_RANK_TIME: fastest and slowest I/O time for a single rank (for shared files).\n");
     printf("#   MPIIO_F_VARIANCE_RANK_*: variance of total I/O time and bytes moved for all ranks (for shared files).\n");
 
+    if(ver < 2)
+    {
+        printf("\n# WARNING: MPIIO module log format version 1 has the following limitations:\n");
+        printf("# - MPIIO_F_WRITE_START_TIMESTAMP may not be accurate.\n");
+    }
+
     return;
 }
 



View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/compare/0bf9973ef6b294e9ab1b20656cab29b34eefba22...0727203c7b99c265623e0fc0c263b7745645f6f1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-commits/attachments/20161005/9b9242d9/attachment-0001.html>


More information about the Darshan-commits mailing list