summaryrefslogtreecommitdiffstats
path: root/src/H5C.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2016-01-21 22:31:15 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2016-01-21 22:31:15 (GMT)
commit91aeb766fafbc4c03d98699de4cac590df9c63a3 (patch)
treed0ea24a184746c342f198564adb4fe487cf215c9 /src/H5C.c
parent8ca4c2f44b60295ab3f757a9a90ac75ff09cb548 (diff)
downloadhdf5-91aeb766fafbc4c03d98699de4cac590df9c63a3.zip
hdf5-91aeb766fafbc4c03d98699de4cac590df9c63a3.tar.gz
hdf5-91aeb766fafbc4c03d98699de4cac590df9c63a3.tar.bz2
[svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity checks from metadata dxpls
- remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead. - remove flush_me_collectively flag from cache entries - add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit. tested on BB-8 with serial and parallel.
Diffstat (limited to 'src/H5C.c')
-rw-r--r--src/H5C.c58
1 files changed, 7 insertions, 51 deletions
diff --git a/src/H5C.c b/src/H5C.c
index 90609b5..641e098 100644
--- a/src/H5C.c
+++ b/src/H5C.c
@@ -1755,9 +1755,6 @@ H5C_insert_entry(H5F_t * f,
H5AC_ring_t ring = H5C_RING_UNDEFINED;
hbool_t insert_pinned;
hbool_t flush_last;
-#ifdef H5_HAVE_PARALLEL
- hbool_t flush_collectively;
-#endif /* H5_HAVE_PARALLEL */
hbool_t set_flush_marker;
hbool_t write_permitted = TRUE;
size_t empty_space;
@@ -1795,9 +1792,6 @@ H5C_insert_entry(H5F_t * f,
set_flush_marker = ( (flags & H5C__SET_FLUSH_MARKER_FLAG) != 0 );
insert_pinned = ( (flags & H5C__PIN_ENTRY_FLAG) != 0 );
flush_last = ( (flags & H5C__FLUSH_LAST_FLAG) != 0 );
-#ifdef H5_HAVE_PARALLEL
- flush_collectively = ( (flags & H5C__FLUSH_COLLECTIVELY_FLAG) != 0 );
-#endif /* H5_HAVE_PARALLEL */
/* Get the dataset transfer property list */
if(NULL == (dxpl = (H5P_genplist_t *)H5I_object_verify(dxpl_id, H5I_GENPROP_LST)))
@@ -1842,9 +1836,6 @@ H5C_insert_entry(H5F_t * f,
entry_ptr->pinned_from_client = insert_pinned;
entry_ptr->pinned_from_cache = FALSE;
entry_ptr->flush_me_last = flush_last;
-#ifdef H5_HAVE_PARALLEL
- entry_ptr->flush_me_collectively = flush_collectively;
-#endif
/* newly inserted entries are assumed to be dirty */
entry_ptr->is_dirty = TRUE;
@@ -2563,10 +2554,10 @@ done:
* This allows H5C_protect to accept flags other than
* H5C__READ_ONLY_FLAG.
*
- * Added support for the H5C__FLUSH_LAST_FLAG and
- * H5C__FLUSH_COLLECTIVELY_FLAG flags. At present, these
- * flags are only applied if the entry is not in cache, and
- * is loaded into the cache as a result of this call.
+ * Added support for the H5C__FLUSH_LAST_FLAG.
+ * At present, this flag is only applied if the entry is
+ * not in cache, and is loaded into the cache as a result of
+ * this call.
*
*-------------------------------------------------------------------------
*/
@@ -2584,9 +2575,6 @@ H5C_protect(H5F_t * f,
hbool_t have_write_permitted = FALSE;
hbool_t read_only = FALSE;
hbool_t flush_last;
-#ifdef H5_HAVE_PARALLEL
- hbool_t flush_collectively;
-#endif /* H5_HAVE_PARALLEL */
hbool_t write_permitted;
size_t empty_space;
void * thing;
@@ -2619,9 +2607,6 @@ H5C_protect(H5F_t * f,
read_only = ( (flags & H5C__READ_ONLY_FLAG) != 0 );
flush_last = ( (flags & H5C__FLUSH_LAST_FLAG) != 0 );
-#ifdef H5_HAVE_PARALLEL
- flush_collectively = ( (flags & H5C__FLUSH_COLLECTIVELY_FLAG) != 0 );
-#endif /* H5_HAVE_PARALLEL */
/* Get the dataset transfer property list */
if(NULL == (dxpl = (H5P_genplist_t *)H5I_object_verify(dxpl_id, H5I_GENPROP_LST)))
@@ -2784,20 +2769,16 @@ H5C_protect(H5F_t * f,
*
* *******************************************
*
- * Set the flush_last (and possibly flush_collectively) fields
+ * Set the flush_last field
* of the newly loaded entry before inserting it into the
* index. Must do this, as the index tracked the number of
* entries with the flush_last field set, but assumes that
* the field will not change after insertion into the index.
*
- * Note that this means that the H5C__FLUSH_LAST_FLAG and
- * H5C__FLUSH_COLLECTIVELY_FLAG flags are ignored if the
- * entry is already in cache.
+ * Note that this means that the H5C__FLUSH_LAST_FLAG flag
+ * is ignored if the entry is already in cache.
*/
entry_ptr->flush_me_last = flush_last;
-#ifdef H5_HAVE_PARALLEL
- entry_ptr->flush_me_collectively = flush_collectively;
-#endif
H5C__INSERT_IN_INDEX(cache_ptr, entry_ptr, NULL)
@@ -7648,31 +7629,6 @@ H5C__flush_single_entry(const H5F_t *f, hid_t dxpl_id, H5C_cache_entry_t *entry_
entry_ptr->flush_in_progress = TRUE;
entry_ptr->flush_marker = FALSE;
-#ifdef H5_HAVE_PARALLEL
-#ifndef NDEBUG
- /* If MPI based VFD is used, do special parallel I/O sanity checks.
- * Note that we only do these sanity checks when the clear_only flag
- * is not set, and the entry to be flushed is dirty. Don't bother
- * otherwise as no file I/O can result.
- */
- if(!clear_only && entry_ptr->is_dirty && H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI)) {
- H5P_genplist_t *dxpl; /* Dataset transfer property list */
- unsigned coll_meta; /* Collective metadata write flag */
-
- /* Get the dataset transfer property list */
- if(NULL == (dxpl = (H5P_genplist_t *)H5I_object(dxpl_id)))
- HGOTO_ERROR(H5E_CACHE, H5E_BADTYPE, FAIL, "not a dataset transfer property list")
-
- /* Get the collective metadata write property */
- if(H5P_get(dxpl, H5AC_COLLECTIVE_META_WRITE_NAME, &coll_meta) < 0)
- HGOTO_ERROR(H5E_CACHE, H5E_CANTGET, FAIL, "can't retrieve xfer mode")
-
- /* Sanity check collective metadata write flag */
- HDassert(coll_meta);
- } /* end if */
-#endif /* NDEBUG */
-#endif /* H5_HAVE_PARALLEL */
-
/* serialize the entry if necessary, and then write it to disk. */
if(write_entry) {
unsigned serialize_flags = H5C__SERIALIZE_NO_FLAGS_SET;