diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-07-22 01:55:14 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-07-22 01:55:14 (GMT) |
commit | 58ed885d1314d2c971c106e70c9271df3a70ebc9 (patch) | |
tree | df8dcecc4112ba026cad00a3fc9c8af64b20a208 /src/H5FSpkg.h | |
parent | 59d5e5c6fbbc951545e079333dc00e5a12dc9065 (diff) | |
download | hdf5-58ed885d1314d2c971c106e70c9271df3a70ebc9.zip hdf5-58ed885d1314d2c971c106e70c9271df3a70ebc9.tar.gz hdf5-58ed885d1314d2c971c106e70c9271df3a70ebc9.tar.bz2 |
[svn-r12491] Description:
Refactored object deletion code for fractal heap to fix scaling problems.
Passing all previous tests again now.
Tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 (chicago)
Mac OS X (amazon)
Diffstat (limited to 'src/H5FSpkg.h')
-rw-r--r-- | src/H5FSpkg.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/H5FSpkg.h b/src/H5FSpkg.h index 0f9aaad..c3d9f1c 100644 --- a/src/H5FSpkg.h +++ b/src/H5FSpkg.h @@ -60,7 +60,9 @@ /* Free space header specific fields */ \ + 1 /* Client ID */ \ + H5F_SIZEOF_SIZE(f) /* Total free space tracked */ \ - + H5F_SIZEOF_SIZE(f) /* # of sections tracked */ \ + + H5F_SIZEOF_SIZE(f) /* Total # of sections tracked */ \ + + H5F_SIZEOF_SIZE(f) /* # of serializable sections tracked */ \ + + H5F_SIZEOF_SIZE(f) /* # of ghost sections tracked */ \ + 2 /* Number of section classes */ \ + 2 /* Shrink percent */ \ + 2 /* Expand percent */ \ @@ -82,7 +84,9 @@ typedef struct H5FS_hdr_t { /* Statistics */ hsize_t tot_space; /* Total amount of space tracked */ - hsize_t sect_count; /* # of sections tracked */ + hsize_t tot_sect_count; /* Total # of sections tracked */ + hsize_t serial_sect_count; /* # of serializable sections tracked */ + hsize_t ghost_sect_count; /* # of un-serializable sections tracked */ /* Creation information */ H5FS_client_t client; /* Type of user of this free space manager */ @@ -100,7 +104,9 @@ typedef struct H5FS_hdr_t { /* Free space section bin info */ typedef struct H5FS_bin_t { - size_t sect_count; /* Total # of sections in this bin */ + size_t tot_sect_count; /* Total # of sections in this bin */ + size_t serial_sect_count; /* # of serializable sections in this bin */ + size_t ghost_sect_count; /* # of un-serializable sections in this bin */ H5SL_t *bin_list; /* Skip list of differently sized sections */ } H5FS_bin_t; @@ -112,11 +118,14 @@ struct H5FS_t { /* Computed/cached values */ haddr_t addr; /* Address of free space header on disk */ unsigned nbins; /* Number of bins */ - size_t serial_size; /* Total serialized size of all section nodes */ - size_t size_count; /* Number of differently sized sections */ + size_t serial_size; /* Total size of all serializable sections */ + size_t tot_size_count; /* Total number of differently sized sections */ + size_t serial_size_count; /* Total number of differently sized serializable sections */ + size_t ghost_size_count; /* Total number of differently sized un-serializable sections */ unsigned sect_prefix_size; /* Size of the section serialization prefix (in bytes) */ unsigned sect_off_size; /* Size of a section offset (in bytes) */ unsigned sect_len_size; /* Size of a section length (in bytes) */ + hbool_t must_deserialize; /* Sections must be deserialized */ hbool_t dirty; /* Space information is dirty */ /* Memory data structures (not stored directly) */ |