[Darshan-commits] [Darshan] branch, dev-modular, updated. darshan-2.3.1-78-g905e0ac

Service Account git at mcs.anl.gov
Wed Apr 1 09:55:04 CDT 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  905e0ac4cccc3cee2bf5324b572799ce64a9c8ec (commit)
       via  2f7e0da108c8fcb07b5246c79ead55e6e647ba25 (commit)
      from  d72958deef26f9e8b81f83ecd8f0a627e20c5c9e (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 905e0ac4cccc3cee2bf5324b572799ce64a9c8ec
Author: Phil Carns <carns at mcs.anl.gov>
Date:   Wed Apr 1 09:54:54 2015 -0500

    extended comments on posix_file_runtime_ref

commit 2f7e0da108c8fcb07b5246c79ead55e6e647ba25
Author: Phil Carns <carns at mcs.anl.gov>
Date:   Wed Apr 1 09:52:06 2015 -0500

    extended comments on darshan_file_runtime struct

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

Summary of changes:
 darshan-runtime/lib/darshan-posix.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)


Diff of changes:
diff --git a/darshan-runtime/lib/darshan-posix.c b/darshan-runtime/lib/darshan-posix.c
index 41b2838..a06cbd0 100644
--- a/darshan-runtime/lib/darshan-posix.c
+++ b/darshan-runtime/lib/darshan-posix.c
@@ -97,6 +97,22 @@ enum posix_io_type
  * assists with the instrumenting of specific statistics in the file record.
  * 'hlink' is a hash table link structure used to add/remove this record
  * from the hash table of POSIX file records for this process. 
+ *
+ * RATIONALE: the POSIX module needs to track some stateful, volatile 
+ * information about each open file (like the current file offset, most recent 
+ * access time, etc.) to aid in instrumentation, but this information can't be
+ * stored in the darshan_posix_file struct because we don't want it to appear in
+ * the final darshan log file.  We therefore associate a posix_file_runtime
+ * struct with each darshan_posix_file struct in order to track this information.
+  *
+ * NOTE: There is a one-to-one mapping of posix_file_runtime structs to
+ * darshan_posix_file structs.
+ *
+ * NOTE: The posix_file_runtime struct contains a pointer to a darshan_posix_file
+ * struct (see the *file_record member) rather than simply embedding an entire
+ * darshan_posix_file struct.  This is done so that all of the darshan_posix_file
+ * structs can be kept contiguous in memory as a single array to simplify
+ * reduction, compression, and storage.
  */
 struct posix_file_runtime
 {
@@ -122,6 +138,17 @@ struct posix_file_runtime
  * available. This structure includes another hash table link, since separate
  * hashes are maintained for posix_file_runtime structures and posix_file_runtime_ref
  * structures.
+ *
+ * RATIONALE: In theory the fd information could be included in the
+ * posix_file_runtime struct rather than in a separate structure here.  The
+ * reason we don't do that is because the same file could be opened multiple
+ * times by a given process with different file descriptors and thus
+ * simulataneously referenced using different file descriptors.  This practice is
+ * not common, but we must support it.
+ *
+ * NOTE: there are potentially multiple posix_file_runtime_ref structures
+ * referring to a single posix_file_runtime structure.  Most of the time there is
+ * only one, however.
  */
 struct posix_file_runtime_ref
 {


hooks/post-receive
--



More information about the Darshan-commits mailing list