diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2012-03-13 15:58:47 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2012-03-13 15:58:47 (GMT) |
commit | 3e468e6ff65d540a439e99ea568a6bff7add7cea (patch) | |
tree | 0dc67a660393540daf16623caae744dfdd8203df /src/H5Itest.c | |
parent | 73c139e29b45941dfc4e558d9096a0869a184260 (diff) | |
download | hdf5-3e468e6ff65d540a439e99ea568a6bff7add7cea.zip hdf5-3e468e6ff65d540a439e99ea568a6bff7add7cea.tar.gz hdf5-3e468e6ff65d540a439e99ea568a6bff7add7cea.tar.bz2 |
[svn-r22062] Purpose: Fix bugs in chunk cache's SWMR implementation
Description:
Two issues were found with the chunk cache's SWMR implementation:
1. Some places were not properly setting the rdcc field in the index udata
struct. Fixed. May eventually need to add an rdcc field to the idx_info
struct.
2. While recalculating the indices for chunks in a dataset being resized, it was
possible for the chunk cache to attempt to flush a chunk before all the
indices were updated, which caused problems when a node split and flush
dependencies needed to be updated, because the child nodes could not be found
in the chunk cache due to the index being out of date. Modified algorithm in
H5D_chunk_update_cache to keep a temporary list of entries that got "bumped",
and only evict them after all chunks have updated indices. Also modified
H5D_chunk_update_flush_dep and H5D_chunk_update_flush_dep to search this
temporary list when looking for the child chunk entry. As a side effect,
chunks are now more likely to remain in cache after a call to H5Dset_extent
(even without SWMR), so performance should improve slightly.
Diffstat (limited to 'src/H5Itest.c')
0 files changed, 0 insertions, 0 deletions