diff options
author | John Mainzer <mainzer@hdfgroup.org> | 2007-08-10 04:19:43 (GMT) |
---|---|---|
committer | John Mainzer <mainzer@hdfgroup.org> | 2007-08-10 04:19:43 (GMT) |
commit | b742150e4c2bc115c531bc285a86dc38153594ca (patch) | |
tree | 4ad16a1b21eff750bde4c42a1fdec3db4b13d4d4 /src/H5ACpublic.h | |
parent | 85ae38b38024661f932f2af6af717c6d4e20572b (diff) | |
download | hdf5-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.h | 33 |
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; |