[Darshan-commits] [Darshan] branch, dev-modular, updated. 601e5ef70169f6d00c271f53f2f0a8cd7fdfd86f

Service Account git at mcs.anl.gov
Wed Feb 18 10:14:30 CST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".

The branch, dev-modular has been updated
       via  601e5ef70169f6d00c271f53f2f0a8cd7fdfd86f (commit)
       via  2de806226fd5c86dd9ecb4863054afb93e6cef55 (commit)
      from  7b412204c29e14502ee14a2f7f71b99f285c1fb9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 601e5ef70169f6d00c271f53f2f0a8cd7fdfd86f
Author: Shane Snyder <ssnyder at mcs.anl.gov>
Date:   Wed Feb 18 10:12:55 2015 -0600

    more documentation for dev-modular

commit 2de806226fd5c86dd9ecb4863054afb93e6cef55
Author: Shane Snyder <ssnyder at mcs.anl.gov>
Date:   Wed Feb 18 10:11:50 2015 -0600

    No longer store unique hash with mount info

-----------------------------------------------------------------------

Summary of changes:
 darshan-runtime/lib/darshan-core.c                 |    7 +--
 darshan-util/darshan-logutils.c                    |   17 +++----
 darshan-util/darshan-logutils.h                    |    2 +-
 darshan-util/darshan-posix-parser.c                |   19 ++++++--
 {darshan-util/doc => doc}/Makefile                 |    2 +-
 ...n-dev-status.txt => darshan-modularization.txt} |   51 ++++++++++++--------
 {darshan-runtime/doc => doc}/docbook-xsl.css       |    0
 7 files changed, 56 insertions(+), 42 deletions(-)
 copy {darshan-util/doc => doc}/Makefile (62%)
 rename doc/{darshan-dev-status.txt => darshan-modularization.txt} (76%)
 copy {darshan-runtime/doc => doc}/docbook-xsl.css (100%)


Diff of changes:
diff --git a/darshan-runtime/lib/darshan-core.c b/darshan-runtime/lib/darshan-core.c
index 8d21b35..095c756 100644
--- a/darshan-runtime/lib/darshan-core.c
+++ b/darshan-runtime/lib/darshan-core.c
@@ -42,7 +42,6 @@ static int nprocs = -1;
 #define DARSHAN_MAX_MNT_TYPE 32
 struct mnt_data
 {
-    int64_t hash; /* TODO: should it be possible for these to be negative? */
     int64_t block_size;
     char path[DARSHAN_MAX_MNT_PATH];
     char type[DARSHAN_MAX_MNT_TYPE];
@@ -778,9 +777,6 @@ static void add_entry(char* trailing_data, int* space_left, struct mntent *entry
         DARSHAN_MAX_MNT_PATH-1);
     strncpy(mnt_data_array[mnt_data_count].type, entry->mnt_type,
         DARSHAN_MAX_MNT_TYPE-1);
-    mnt_data_array[mnt_data_count].hash =
-        darshan_hash((void*)mnt_data_array[mnt_data_count].path,
-        strlen(mnt_data_array[mnt_data_count].path), 0);
     /* NOTE: we now try to detect the preferred block size for each file 
      * system using fstatfs().  On Lustre we assume a size of 1 MiB 
      * because fstatfs() reports 4 KiB. 
@@ -797,8 +793,7 @@ static void add_entry(char* trailing_data, int* space_left, struct mntent *entry
         mnt_data_array[mnt_data_count].block_size = 4096;
 
     /* store mount information for use in header of darshan log */
-    ret = snprintf(tmp_mnt, 256, "\n%" PRId64 "\t%s\t%s",
-        mnt_data_array[mnt_data_count].hash,
+    ret = snprintf(tmp_mnt, 256, "\n%s\t%s",
         entry->mnt_type, entry->mnt_dir);
     if(ret < 256 && strlen(tmp_mnt) <= (*space_left))
     {
diff --git a/darshan-util/darshan-logutils.c b/darshan-util/darshan-logutils.c
index ab1b82f..8ecfd30 100644
--- a/darshan-util/darshan-logutils.c
+++ b/darshan-util/darshan-logutils.c
@@ -243,11 +243,11 @@ int darshan_log_getexe(darshan_fd fd, char *buf)
 
 /* darshan_log_getmounts()
  * 
- * retrieves mount table information from the log.  Note that devs, mnt_pts,
- * and fs_types are arrays that will be allocated by the function and must
- * be freed by the caller.  count will indicate the size of the arrays
+ * retrieves mount table information from the log.  Note that mnt_pts and
+ * fs_types are arrays that will be allocated by the function and must be
+ * freed by the caller.  count will indicate the size of the arrays
  */
-int darshan_log_getmounts(darshan_fd fd, int64_t** devs, char*** mnt_pts,
+int darshan_log_getmounts(darshan_fd fd, char*** mnt_pts,
     char*** fs_types, int* count)
 {
     int ret;
@@ -274,8 +274,6 @@ int darshan_log_getmounts(darshan_fd fd, int64_t** devs, char*** mnt_pts,
     }
 
     /* allocate output arrays */
-    *devs = malloc((*count)*sizeof(int64_t));
-    assert(*devs);
     *mnt_pts = malloc((*count)*sizeof(char*));
     assert(*mnt_pts);
     *fs_types = malloc((*count)*sizeof(char*));
@@ -292,10 +290,9 @@ int darshan_log_getmounts(darshan_fd fd, int64_t** devs, char*** mnt_pts,
         (*fs_types)[array_index] = malloc(CP_EXE_LEN);
         assert((*fs_types)[array_index]);
 
-        ret = sscanf(++pos, "%" PRId64 "\t%s\t%s", &(*devs)[array_index],
-            (*fs_types)[array_index], (*mnt_pts)[array_index]);
-
-        if(ret != 3)
+        ret = sscanf(++pos, "%s\t%s", (*fs_types)[array_index],
+            (*mnt_pts)[array_index]);
+        if(ret != 2)
         {
             fprintf(stderr, "Error: poorly formatted mount table in log file.\n");
             return(-1);
diff --git a/darshan-util/darshan-logutils.h b/darshan-util/darshan-logutils.h
index 05c3e9b..fbaa0ac 100644
--- a/darshan-util/darshan-logutils.h
+++ b/darshan-util/darshan-logutils.h
@@ -24,7 +24,7 @@ int darshan_log_getjob(darshan_fd file, struct darshan_job *job);
 int darshan_log_gethash(darshan_fd file, struct darshan_record_ref **hash);
 int darshan_log_getfile(darshan_fd fd, struct darshan_posix_file *file);
 int darshan_log_getexe(darshan_fd fd, char *buf);
-int darshan_log_getmounts(darshan_fd fd, int64_t** devs, char*** mnt_pts,
+int darshan_log_getmounts(darshan_fd fd, char*** mnt_pts,
     char*** fs_types, int* count);
 void darshan_log_close(darshan_fd file);
 
diff --git a/darshan-util/darshan-posix-parser.c b/darshan-util/darshan-posix-parser.c
index cc3417e..6aaba19 100644
--- a/darshan-util/darshan-posix-parser.c
+++ b/darshan-util/darshan-posix-parser.c
@@ -30,7 +30,6 @@ int main(int argc, char **argv)
     struct darshan_record_ref *rec_hash = NULL;
     struct darshan_record_ref *ref, *tmp;
     int mount_count;
-    int64_t* devs;
     char** mnt_pts;
     char** fs_types;
     struct darshan_posix_file next_rec;
@@ -117,7 +116,7 @@ int main(int argc, char **argv)
     }
 
     /* get the mount information for this log */
-    ret = darshan_log_getmounts(file, &devs, &mnt_pts, &fs_types, &mount_count);
+    ret = darshan_log_getmounts(file, &mnt_pts, &fs_types, &mount_count);
     if(ret < 0)
     {
         fprintf(stderr, "darshan_log_getmounts() failed to read mount information.\n");
@@ -126,11 +125,11 @@ int main(int argc, char **argv)
     }
 
     /* print table of mounted file systems */
-    printf("\n# mounted file systems (device, mount point, and fs type)\n");
+    printf("\n# mounted file systems (mount point and fs type)\n");
     printf("# -------------------------------------------------------\n");
     for(i=0; i<mount_count; i++)
     {
-        printf("# mount entry: %" PRId64 "\t%s\t%s\n", devs[i], mnt_pts[i], fs_types[i]);
+        printf("# mount entry:\t%s\t%s\n", mnt_pts[i], fs_types[i]);
     }
 
     /* read hash of darshan records */
@@ -176,6 +175,18 @@ int main(int argc, char **argv)
         i++;
     } while((ret = darshan_log_getfile(file, &next_rec)) == 1);
 
+    /* free mount info */
+    for(i=0; i<mount_count; i++)
+    {
+        free(mnt_pts[i]);
+        free(fs_types[i]);
+    }
+    if(mount_count > 0)
+    {
+        free(mnt_pts);
+        free(fs_types);
+    }
+
     darshan_log_close(file);
 
     return(0);
diff --git a/darshan-util/doc/Makefile b/doc/Makefile
similarity index 62%
copy from darshan-util/doc/Makefile
copy to doc/Makefile
index d3796ba..05899e6 100644
--- a/darshan-util/doc/Makefile
+++ b/doc/Makefile
@@ -1,4 +1,4 @@
-OUTPUT=darshan-util.pdf darshan-util.html
+OUTPUT=darshan-modularization.pdf darshan-modularization.html
 
 all:: $(OUTPUT)
 
diff --git a/doc/darshan-dev-status.txt b/doc/darshan-modularization.txt
similarity index 76%
rename from doc/darshan-dev-status.txt
rename to doc/darshan-modularization.txt
index 548d49b..cebfe33 100644
--- a/doc/darshan-dev-status.txt
+++ b/doc/darshan-modularization.txt
@@ -19,24 +19,6 @@ modules, which are responsible for gathering I/O data from a specific system com
 manage these modules at runtime and create a valid Darshan log regardless of how many
 or what types of modules are used.
 
-== Architectural overview
-
-The Darshan source tree is composed of two primary components:
-
-* *darshan-runtime*: Darshan runtime environment necessary for instrumenting MPI
-applications and generating I/O characterization logs.
-
-* *darshan-util*: Darshan utilities for analyzing the contents of a given Darshan
-I/O characterization log.
-
-=== darshan-runtime
-
-Text.
-
-=== darshan-util
-
-Text.
-
 == Checking out and building the modularization branch
 
 Developers can clone the Darshan source repository using the following methods:
@@ -53,13 +35,42 @@ git clone git at git.mcs.anl.gov:radix/darshan
 git checkout dev-modular
 ----
 
-For details on building the Darshan runtime and utility repositories, consult
-the documentation from previous versions
+For details on configuring and building the Darshan runtime and utility repositories,
+consult the documentation from previous versions
 (http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-runtime.html[darshan-runtime] and
 http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-util.html[darshan-util]) -- the
 necessary steps for building these repositories should not have changed in the new version of
 Darshan.
 
+== Architectural overview
+
+The Darshan source tree is composed of two primary components:
+
+* *darshan-runtime*: Darshan runtime environment necessary for instrumenting MPI
+applications and generating I/O characterization logs.
+
+* *darshan-util*: Darshan utilities for analyzing the contents of a given Darshan
+I/O characterization log.
+
+The following subsections provide an overview of each of these components with specific
+attention to how new instrumentation modules may be integrated into Darshan.
+
+=== darshan-runtime
+
+At a high level, the darshan-runtime library is responsible for instrumenting MPI applications
+and generating a log file containing the resulting I/O characterization.
+
+The I/O behavior an application is primarily instrumented by intercepting function calls of
+interest and recording relevant data.
+
+// TODO: how does dynamic vs static executable affect a module developer?
+
+
+
+=== darshan-util
+
+Text.
+
 == Adding new modules
 
 Text.
diff --git a/darshan-runtime/doc/docbook-xsl.css b/doc/docbook-xsl.css
similarity index 100%
copy from darshan-runtime/doc/docbook-xsl.css
copy to doc/docbook-xsl.css


hooks/post-receive
--



More information about the Darshan-commits mailing list