Fix a bug in the cache caused by a slightly over active sanity check.
Description:
When the #define H5C_DO_SANITY_CHECKS is TRUE, the macro
H5C__DLL_PRE_INSERT_SC is executed prior to inserting an
entry in the LRU list. The macro performs a variety of
sanity checks, and flags an error if any of the checks
fail.
Prior to this update, the macro used to check to see if
the target list had length 1 and size <= 0. The new
epoch marker entries used in the age out cache size
reduction algorithm have size zero -- making it possible
for this sanity check to fail incorrectly.
Note that cache sanity checks are disabled in the CVS
version of the code, so this bug and bug fix should be
invisible unless you are working with the cache, and
turn the sanity checks on.
Solution:
Removed the offending clause in H5C__DLL_PRE_INSERT_SC. Since
the size used in the macro is typically a size_t and thus
cannot have negative value, there was no point in changing
it to "size < 0".
Platforms tested:
Ran a serial test on heping.
Under the circumstances, I didn't feel the need for further
testing.
Misc. update:
Bug fix.
Description:
-e is not a valid condition for /bin/sh in all machines such as SunOS.
Solution:
Rewrote the condition to avoid the need of using "test -e ...".
Platforms tested:
In Sol only.
Description:
Accidentally edited this file and removed a couple characters from a
defined name, thus caused undefined error in daily test. Fixed!
Platforms tested:
SunOS 5.7 (arabica)
Description:
Replaced cout's with cerr's.
Replaced macro VERIFY with template function verify_val to
verify read data/info.
Cleanup various places in the tests to make them more consistent.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
mpich 1.2.6 does not like the tweaking of using -O2 flag.
Comment out the Tweaking since it caused problems to mpich1.2.6.
Need to investigate the reasons and effects to tweak.
Platforms tested:
Tested in heping using mpich 1.2.6 and in eirene uisng mpich 1.2.6.
Modify the cache code (H5C) to support automatic cache resizing to
adapt to the work load at run time.
Description:
Different applications require different sized caches to maintain
an acceptable hit rate. This set of changes attempts to provide the
ability to adjust to circumstances automatically.
Solution:
Added highly configurable code to allow the user to either set a
fixed cache size, or allow the cache to grow and shrink according to
conditions.
If enabled, cache size increases are triggered when the hit rate
drops below a user specified threshold in a user specified interval.
Cache size reductions (if enabled) are triggered when either the
hit rate exceeds some user specified threshold over a user specified
interval, when the cache contains "enough" entries that haven't been
accessed for a user specified interval, or some mix of the above.
See the header comments on the H5C_auto_size_ctl_t structure in
H5Cprivate.h for further details.
At present, the cache resize configuration options are not
accessible via the user API. Must add this.
Platforms tested:
h5committested, heping (serial), and copper (parallel)
Misc. update:
Modify the cache code (H5C) to support automatic cache resizing to
adapt to the work load at run time.
Description:
Different applications require different sized caches to maintain
an acceptable hit rate. This set of changes attempts to provide the
ability to adjust to circumstances automatically.
Solution:
Added highly configurable code to allow the user to either set a
fixed cache size, or allow the cache to grow and shrink according to
conditions.
If enabled, cache size increases are triggered when the hit rate
drops below a user specified threshold in a user specified interval.
Cache size reductions (if enabled) are triggered when either the
hit rate exceeds some user specified threshold over a user specified
interval, when the cache contains "enough" entries that haven't been
accessed for a user specified interval, or some mix of the above.
See the header comments on the H5C_auto_size_ctl_t structure in
H5Cprivate.h for further details.
At present, the cache resize configuration options are not
accessible via the user API. Must add this.
Platforms tested:
h5committested, hepingi (serial), and copper (parallel)
Misc. update:
Update.
Description:
Update HDF5 Windows installation documentation to include recently added HDF5 high level library and tests information.
Solution:
Platforms tested:
Not necessary.
Misc. update:
Port
Description:
Initial work for supporting GNU FORTRAN/F95 on FreeBSD. I think I've
got things mostly set up correctly, but I'm getting an internal compiler
error on one of the FORTRAN sources, so I'm not going to add this configuration
to the daily tests yet.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/GNU FORTRAN
Not tested in h5committest
Bug fix
Description:
Add @COMMENCE@ to makefile, so that all our predefined macros are included,
which makes 'make distclean' work
Platforms tested:
FreeBSD 4.10 (sleipnir)
Too minor to require h5committest
New feature.
Description:
Add HDF high level into Windows.
Solution:
1. Add hdf5_hl and hdf5_hl_fortran projects under hdf5/project directory, which will be used to generate HDF5 high level C and Fortran libraries.
2. Add hl_test_lite, hl_test_image, and hl_test_table projects under hdf5/hl/test directory, which will be used for HDF5 high level C lite, image, and table tests.
3. Add hl_test_lite_fortran, hl_test_image_fortran, and hl_test_table_fortran projects under hdf5/hl/fortran/test directory, which will be used for HDF5 high level Fortran lite, image, and table tests.
4. Add HDF5 high level C lite, image, and table testing batch files test_hdf5_hl.bat under hdf5/hl/test directory.
5. Add HDF5 high level Fortran lite, image, and table testing batch files test_hdf5_hl.bat under hdf5/hl/fortran/test directory.
6. Update HDF5 library installation batch file installhdf5lib.bat to install HDF5 high level libraries and header files.
7. Add hdf5_hl, hl_test_lite, hl_test_image, and hl_test_table projects to the dependencies of "all" projects. So HDF5 high level C library and tools will be built by default.
8. Update hdf5build.bat to build HDF5 high level Fortran libraries and tools when using enablefortran or enableall options.
9. Update hdf5check.bat to test HDF5 high level Fortran tools when using enablefortran or enableall options.
Platforms tested:
Microsoft Visual C++ 6.0 on Windows XP/2000.
Tested with/without Fortran.
Misc. update:
Bug fix.
Description:
MIPSpro Compiler 7.4.x starts to support C99 features
but stdint.h has a "guard" in it that will #error if
cc is invoked without asking for C99 standard. But it
does not result with a non-zero compiler exit code, thus
configure thought it is okay to use header file stdint.h.
This causes problems later.
Solution:
Default to use the C99 compiler if available.
Platforms tested:
Tested in Sandia tesla machine which is a new SGI machine.
Check in testing code for irregular hyperslab selection with multiple chunks.
Description:
For debugging only, will not be tested by h5committest.
Solution:
Platforms tested:
Linux 2.4 (mpich 1.2.6)
Misc. update:
small bug fix
Description:
When checking whether the current chunk covers the irregular hyperslab,
the ending point of the chunk is not updated.
This will cause the wrong checking output and fail for some irregular hyperslab
selection.
Solution:
Updating the ending point of the chunk.
Platforms tested:
Linux 2.4 + parallel (too small to use h5committest)
Misc. update:
Description: In file H5FDsec2.c and H5FDlog.c, there's statements like
H5_ASSIGN_OVERFLOW(file->eof,sb.st_size,off_t,haddr_t);
It assumes sb.st_size from h5_stat_t is of type off_t. But on Windows, it
has type __int64. So the H5_ASSIGN_OVERFLOW statement may cause problem.
Instead of trying to do switch between Windows and other systems in H5FDsec2.c
and H5FDlog.c, define a substituting type in H5private.h to fix the problem.
On Windows, this type is __int64; on other systems, it is off_t.
Platforms tested: fuss. Simple fix. Already did h5committest for v1.6.
Adding routines to test irrgular hyperslab selection inside one chunk.
Description:
For debugging purpose, tests are turned off now.
Solution:
Platforms tested:
AIX 5.1 and Linux 2.4 with parallel enabled.
Misc. update:
bug fix
Description:
The irregular hyperslab span_tree implementation inside
H5S_hyper_add_span_element_helper updating the high bound of the span, but forget updating the number of element of the span.
New routine obtain_derived_datatype catches the bug.
Solution:
Updating the number of element of the span as well.
Platforms tested:
Linux 2.4 and AIX 5.1, both with parallel enabled.
Misc. update:
Update.
Description:
Update Windows projects settins as Quincey added several new source code files into HDF5.
Solution:
1. Add H5SL.c and H5SLprivate.h under hdf5\src directory into hdf5 and hdf5dll Windows projects.
2. Add tskiplist.c under hdf5\test directory into testhdf5 and testhdf5dll Windows projects.
Platforms tested:
Microsoft Visual Studio 6.0 in Windows XP/2000.
Misc. update:
add hl fortran
Description:
Solution:
Platforms tested:
linux (absfot and pgf90)
solaris (32 and 64 bit)
AIX
note : HP gives a compiling error , to be fixed in the future
Misc. update:
bug fix
Description:
added a condition that checks if the hl library is enabled to add it to the list of linking libraries
Solution:
Platforms tested:
linux
Misc. update:
Improvement
Description:
Added strip option to PROD_CFLAGS to remove symbols for smaller
production file size.
Solution:
Platforms tested:
Misc. update:
Bug fix.
Description:
Last commit would impose $arch even if user has provided his own
$CFLAGS. Fixed it.
Removed the wording of gnu-flags inherited from the copy.
Platforms tested:
Tested in tg-ncsa.
Misc. update:
modified h5cc to link with the high level library (libhdf5_hl)
Description:
added libhdf5_hl.a to the list of libarries to link with
Solution:
Platforms tested:
linux
Misc. update:
Bug fix.
Description:
Cache the gettimeofday_tz as yes.
Patches for conversion problems of Long Long, float, bottom bits, etc.
Platforms tested:
Tested in tflops only.
Misc. update:
Bug fix.
Description:
Restored correct setting of compilers (-Wall etc for debug flags
only, c99 by default,...) that were wiped out by the commits before.
Platforms tested:
Tested in TG-NCSA, both production and development mode.
(Still need to figure out the proper flag to use for Profile.)
Bug fix.
Description:
v8.0 -O3 infinite loops when compiling test/tselect.c. Use -O2.
Platforms tested:
Only tested in TG-NCSA, use both default and --disable-production options.
New feature
Description:
Add callback iteration routine to skip lists.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
Too minor to require h5committest
new feature
Description:
when requesting a filter for all datasets and the filter cannot be applied for one dataset
use the original dcpl withou filter and print a warning
this check was done previously with buit in functions for szip that are now in the library
Solution:
Platforms tested:
linux
solaris
aix
Misc. update: