summaryrefslogtreecommitdiffstats
path: root/src/H5Epubgen.h
diff options
context:
space:
mode:
authorJohn Mainzer <mainzer@hdfgroup.org>2004-07-02 19:35:04 (GMT)
committerJohn Mainzer <mainzer@hdfgroup.org>2004-07-02 19:35:04 (GMT)
commitc49dd7fa363bdb49416b5587654101064fd547f8 (patch)
treee1dbeee84ca50b94dfab9b1ed630d890405c6f78 /src/H5Epubgen.h
parent072919b9d7fa341c1a886fb92841efa444f0ffae (diff)
downloadhdf5-c49dd7fa363bdb49416b5587654101064fd547f8.zip
hdf5-c49dd7fa363bdb49416b5587654101064fd547f8.tar.gz
hdf5-c49dd7fa363bdb49416b5587654101064fd547f8.tar.bz2
[svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve performance.
Description: Replaced the old metadata cache with a cache with a modified LRU replacement policy. This should improve the hit rate. Solution: Since we want to flush cache entries in increasing address order, I used the threaded binary B-tree code to store the cache entries. There is a fair bit of overhead here, so we may want to consider other options. While the code is designed to allow the support of other replacement algorithms, at present, only a modified version of LRU is supported. The modified LRU algorithm requires that a user selectable portion of the cache entries be clean. The clean entries are evicted first when writes are not permitted. If the pool of clean entries is used up, the cache grows beyond its user specified maximum size. The cache can also exceed its maximum size if the combined size of the protected (or locked) entries exceeds the maximum size of the cache. Platforms tested: eirene (serial, parallel, fp), h5committested Misc. update:
Diffstat (limited to 'src/H5Epubgen.h')
-rw-r--r--src/H5Epubgen.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/H5Epubgen.h b/src/H5Epubgen.h
index 958e91c..a0938ae 100644
--- a/src/H5Epubgen.h
+++ b/src/H5Epubgen.h
@@ -147,14 +147,12 @@ H5_DLLVAR hid_t H5E_CANTALLOC_g; /* Can't allocate from file */
#define H5E_CALLBACK (H5OPEN H5E_CALLBACK_g)
#define H5E_CANAPPLY (H5OPEN H5E_CANAPPLY_g)
#define H5E_SETLOCAL (H5OPEN H5E_SETLOCAL_g)
-#define H5E_NOENCODER (H5OPEN H5E_NOENCODER_g)
-#define H5E_NODECODER (H5OPEN H5E_NODECODER_g)
+#define H5E_NOENCODER (H5OPEN H5E_NOENCODER_g)
H5_DLLVAR hid_t H5E_NOFILTER_g; /* Requested filter is not available */
H5_DLLVAR hid_t H5E_CALLBACK_g; /* Callback failed */
H5_DLLVAR hid_t H5E_CANAPPLY_g; /* Error from filter 'can apply' callback */
H5_DLLVAR hid_t H5E_SETLOCAL_g; /* Error from filter 'set local' callback */
-H5_DLLVAR hid_t H5E_NOENCODER_g; /* Filter present, but encoding disabled */
-H5_DLLVAR hid_t H5E_NODECODER_g; /* Filter present, but decoding disabled */
+H5_DLLVAR hid_t H5E_NOENCODER_g; /* Filter present but encoding disabled */
/* Datatype conversion errors */
#define H5E_CANTCONVERT (H5OPEN H5E_CANTCONVERT_g)
@@ -188,6 +186,7 @@ H5_DLLVAR hid_t H5E_CANTDELETE_g; /* Can't delete message */
#define H5E_CANTLOCK (H5OPEN H5E_CANTLOCK_g)
#define H5E_CANTUNLOCK (H5OPEN H5E_CANTUNLOCK_g)
#define H5E_CANTGC (H5OPEN H5E_CANTGC_g)
+#define H5E_CANTGETSIZE (H5OPEN H5E_CANTGETSIZE_g)
H5_DLLVAR hid_t H5E_NOSPACE_g; /* No space available for allocation */
H5_DLLVAR hid_t H5E_CANTCOPY_g; /* Unable to copy object */
H5_DLLVAR hid_t H5E_CANTFREE_g; /* Unable to free object */
@@ -195,6 +194,7 @@ H5_DLLVAR hid_t H5E_ALREADYEXISTS_g;/* Object already exists */
H5_DLLVAR hid_t H5E_CANTLOCK_g; /* Unable to lock object */
H5_DLLVAR hid_t H5E_CANTUNLOCK_g; /* Unable to unlock object */
H5_DLLVAR hid_t H5E_CANTGC_g; /* Unable to garbage collect */
+H5_DLLVAR hid_t H5E_CANTGETSIZE_g; /* Unable to compute size */
/* Generic low-level file I/O errors */
#define H5E_SEEKERROR (H5OPEN H5E_SEEKERROR_g)
@@ -252,11 +252,21 @@ H5_DLLVAR hid_t H5E_MOUNT_g; /* File mount error */
#define H5E_CANTLOAD (H5OPEN H5E_CANTLOAD_g)
#define H5E_PROTECT (H5OPEN H5E_PROTECT_g)
#define H5E_NOTCACHED (H5OPEN H5E_NOTCACHED_g)
+#define H5E_SYSTEM (H5OPEN H5E_SYSTEM_g)
+#define H5E_CANTINS (H5OPEN H5E_CANTINS_g)
+#define H5E_CANTRENAME (H5OPEN H5E_CANTRENAME_g)
+#define H5E_CANTPROTECT (H5OPEN H5E_CANTPROTECT_g)
+#define H5E_CANTUNPROTECT (H5OPEN H5E_CANTUNPROTECT_g)
H5_DLLVAR hid_t H5E_CANTFLUSH_g; /* Unable to flush data from cache */
H5_DLLVAR hid_t H5E_CANTSERIALIZE_g;/* Unable to serialize data from cache */
H5_DLLVAR hid_t H5E_CANTLOAD_g; /* Unable to load metadata into cache */
H5_DLLVAR hid_t H5E_PROTECT_g; /* Protected metadata error */
H5_DLLVAR hid_t H5E_NOTCACHED_g; /* Metadata not currently cached */
+H5_DLLVAR hid_t H5E_SYSTEM_g; /* Internal error detected */
+H5_DLLVAR hid_t H5E_CANTINS_g; /* Unable to insert metadata into cache */
+H5_DLLVAR hid_t H5E_CANTRENAME_g; /* Unable to rename metadata */
+H5_DLLVAR hid_t H5E_CANTPROTECT_g; /* Unable to protect metadata */
+H5_DLLVAR hid_t H5E_CANTUNPROTECT_g;/* Unable to unprotect metadata */
/* Group related errors */
#define H5E_CANTOPENOBJ (H5OPEN H5E_CANTOPENOBJ_g)