summaryrefslogtreecommitdiffstats
path: root/src/H5ACpublic.h
diff options
context:
space:
mode:
authorJohn Mainzer <mainzer@hdfgroup.org>2007-08-10 04:19:43 (GMT)
committerJohn Mainzer <mainzer@hdfgroup.org>2007-08-10 04:19:43 (GMT)
commitb742150e4c2bc115c531bc285a86dc38153594ca (patch)
tree4ad16a1b21eff750bde4c42a1fdec3db4b13d4d4 /src/H5ACpublic.h
parent85ae38b38024661f932f2af6af717c6d4e20572b (diff)
downloadhdf5-b742150e4c2bc115c531bc285a86dc38153594ca.zip
hdf5-b742150e4c2bc115c531bc285a86dc38153594ca.tar.gz
hdf5-b742150e4c2bc115c531bc285a86dc38153594ca.tar.bz2
[svn-r14064] Implemented function allowing the user to cork the metadata cache.
Also implemented associated test code.
Diffstat (limited to 'src/H5ACpublic.h')
-rw-r--r--src/H5ACpublic.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/H5ACpublic.h b/src/H5ACpublic.h
index 362b14f..76e5530 100644
--- a/src/H5ACpublic.h
+++ b/src/H5ACpublic.h
@@ -107,6 +107,30 @@ extern "C" {
* The length of the path must not exceed H5AC__MAX_TRACE_FILE_NAME_LEN
* characters.
*
+ * set_evictions_enabled: Boolean flag indicating whether the cache
+ * evictions_enabled flag is to be set to the value specified
+ * in the evictions_enabled field below.
+ *
+ * evictions_enabled: Boolean field used to either report the current
+ * evictions enabled status of the cache, or, when
+ * set_evictions_enabled is TRUE, to set the cache's evictions
+ * enabled status.
+ *
+ * In general, the metadata cache should always be allowed to
+ * evict entries. However, in some cases it is advantageous to
+ * disable evictions briefly, and thereby postpone metadata
+ * writes. However, this must be done with care, as the cache
+ * can grow quickly. If you do this, re-enable evictions as
+ * soon as possible and monitor cache size.
+ *
+ * At present, evictions can only be disabled if automatic
+ * cache resizing is also disabled (that is, ( incr_mode ==
+ * H5C_incr__off ) && ( decr_mode == H5C_decr__off )). There
+ * is no logical reason why this should be so, but it simplifies
+ * implementation and testing, and I can't think of any reason
+ * why it would be desireable. If you can think of one, I'll
+ * revisit the issue.
+ *
* set_initial_size: Boolean flag indicating whether the size of the
* initial size of the cache is to be set to the value given in
* the initial_size field. If set_initial_size is FALSE, the
@@ -160,6 +184,9 @@ extern "C" {
* at its maximum size, or if the cache is not already using
* all available space.
*
+ * Note that you must set decr_mode to H5C_incr__off if you
+ * disable metadata cache entry evictions.
+ *
* lower_hr_threshold: Lower hit rate threshold. If the increment mode
* (incr_mode) is H5C_incr__threshold and the hit rate drops below the
* value supplied in this field in an epoch, increment the cache size by
@@ -217,6 +244,9 @@ extern "C" {
* over the last epoch exceeds the value provided in the
* upper_hr_threshold field.
*
+ * Note that you must set decr_mode to H5C_decr__off if you
+ * disable metadata cache entry evictions.
+ *
* upper_hr_threshold: Upper hit rate threshold. The use of this field
* varies according to the current decr_mode:
*
@@ -316,6 +346,9 @@ typedef struct H5AC_cache_config_t
hbool_t close_trace_file;
char trace_file_name[H5AC__MAX_TRACE_FILE_NAME_LEN + 1];
+ hbool_t set_evictions_enabled;
+ hbool_t evictions_enabled;
+
hbool_t set_initial_size;
size_t initial_size;