summaryrefslogtreecommitdiffstats
path: root/src/H5Cpkg.h
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2012-12-12 21:31:27 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2012-12-12 21:31:27 (GMT)
commitadc36c3b4b53520a6f4ba263943f847e3fafeb71 (patch)
treeee8ed7f3af787db40569df33c0387fd66362383d /src/H5Cpkg.h
parentc481032c1b3e5bd7b462e306b4d193932835334b (diff)
downloadhdf5-adc36c3b4b53520a6f4ba263943f847e3fafeb71.zip
hdf5-adc36c3b4b53520a6f4ba263943f847e3fafeb71.tar.gz
hdf5-adc36c3b4b53520a6f4ba263943f847e3fafeb71.tar.bz2
[svn-r23095] Purpose: Refactor flush dependency code, add support for multiple parents
Description: Reworked how flush dependencies worked internally, allowing multiple flush dependency parents, and removing the notion of flush dependency heights, instead keeping track of the number of dirty descendents to determine if parents can be flushed. Also removed the requirement that cache clients destroy flush dependencies before eviction (this is now handled by the cache) and removed the maximum number of passes (the cache should detect infinite loops elsewhere). Added test cases for this. Tested: durandal
Diffstat (limited to 'src/H5Cpkg.h')
-rw-r--r--src/H5Cpkg.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/H5Cpkg.h b/src/H5Cpkg.h
index 1d3bc60..4d3caac 100644
--- a/src/H5Cpkg.h
+++ b/src/H5Cpkg.h
@@ -43,20 +43,6 @@
/* Get needed headers */
#include "H5SLprivate.h" /* Skip lists */
-/* With the introduction of the fractal heap, it is now possible for
- * entries to be dirtied, resized, and/or moved in the flush callbacks.
- * As a result, on flushes, it may be necessary to make multiple passes
- * through the slist before it is empty. The H5C__MAX_PASSES_ON_FLUSH
- * #define is used to set an upper limit on the number of passes.
- * The current value was obtained via personal communication with
- * Quincey. I have applied a fudge factor of 2.
- *
- * -- JRM
- */
-
-#define H5C__MAX_PASSES_ON_FLUSH 4
-
-
/****************************************************************************
*
@@ -1014,6 +1000,9 @@ struct H5C_t
/***************************** Macro Definitions ****************************/
/****************************************************************************/
+/* Initial allocated size of the "flush_dep_parent" array */
+#define H5C_FLUSH_DEP_PARENT_INIT 8
+
/****************************************************************************
*
* We maintain doubly linked lists of instances of H5C_cache_entry_t for a