summaryrefslogtreecommitdiffstats
path: root/testpar/t_cache.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r15388] Description:Quincey Koziol2008-07-201-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert object header cache client to use the new metadata journaling cache, which included adding a new client for handling continuation chunks. Added "real" protect calls around modifying chunks in object headers. Switched a few more metadata cache library API routines to drop the file pointer, when it is not needed (pinning/unpinning entries, etc.) Fixed bug in journaling cache handling of 'image_len' callbacks and also changed cache to retry deserializing entries when the entry's size is larger than the speculative size initially tried. Retrying for 'image_len' callbacks has problems with the 'multi' VFD, so the h5dump and FORTRAN 'multi' tests are commented out, until the changes to the 'multi' VFD from the file free space branch are brought back into the trunk. Currently, the 'h5recover' tool has a bug which requires it to be run twice before replaying the journal "sticks". However, this is from an earlier checkin, since the code in the branch already has this behavior... :-( Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.4 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14594] Ported flash cache size increase code into the journaling branch --John Mainzer2008-02-181-1/+1
| | | | | | | | | | | | | | | | | note that both the H5C and H5C2 code have been updated. Also checked in code to track journaling status in the super block. Note that this code has not been tested -- but as best I can tell, it does not break the existing regression tests. Tested serial (debug and production) on Phoenix. Also tested parallel on kagiso. Note that regression test fails on kagiso (but not on phoenix) if the cache2 serial tests are configured to use the core file driver. Thus this code is check in with the core file driver optimization of the cache2 tests disabled. To turn it on, set the USE_CORE_DRIVER #define to TRUE.
* [svn-r14064] Implemented function allowing the user to cork the metadata cache.John Mainzer2007-08-101-16/+16
| | | | Also implemented associated test code.
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r12594] Added small parallel test for modification of ↵John Mainzer2006-08-171-15/+55
| | | | | | | | H5C_insert_entry() allowing insertion and pinning of a cache entry in one call. h5commit tested
* [svn-r12462] Committed a variety of metadata cache related changes:John Mainzer2006-07-131-23/+738
| | | | | | | | | | | | | | | | | | | | | | 1) Added trace file support to the metadata cache. This allows capture of all metadata cache calls in trace files for purposes of optimization and debuging. 2) Added an expunge entry function. This allows an entry to be deleteded from the cache without writing it to disk even if it is dirty. 3) Added a function call to resize pinned entries. 4) Added code to deal with entries that are dirty on load. This is needed in support of a bug fix which can alter object headers on load to repair files. 5) Added progress reporting code to the "MDC API smoke check" test in cache_api.c. To enable the progress reporting, set report_progress to TRUE in mdc_api_call_smoke_check(). Tested with h5committest, and a parallel test on phoenix (dual athelon linux box).
* [svn-r12440] Purpose:Quincey Koziol2006-06-271-275/+275
| | | | | | | | | | | Code cleanup Description: Trim trailing whitespace in Makefile.am and C/C++ source files to make diffing changes easier. Platforms tested: None necessary, whitespace only change
* [svn-r12374] Purpose:John Mainzer2006-05-241-50/+706
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Check in potential fix to unreproduceable bug in t_cache observed on Cobalt 2) Check in code supporting added pinned entry features in the metadata cache. Description: 1) Elena encountered a bug in t_cache when running on Cobalt. On investigation I found a potential race condition in t_cache that could explain her observation. 2) Quincey requested additions to the metadata cache allowing renaming of pinned entryies, and marking of pinned or protected entries as dirty. Solution: 1) Modified t_cache.c to prevent the potential race condition. Elena was unable to reproduce the bug on Cobalt, so we don't know if my fix actually addressed the problem. 2) Added code supporting the requested functions. The changes were relatively trivial, but required substantial new test code. Platforms tested: h5committest, serial test on heping, parallel test on phoenix. Misc. update:
* [svn-r12321] Purpose:John Mainzer2006-05-021-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix Description: Fix two test bugs: 1) Unitialized variable bug in test of H5C_get_entry_status() (in test/cache.c) 2) Incorrect initialization of constant in t_cache when running with MPE. (in testpar/t_cache.c) Solution: 1) Don't test uninitialize variable. 2) Correct initialzation of constant in MPE case. Platforms tested: Tested on Heping and Copper. Misc. update:
* [svn-r12316] Purpose:Quincey Koziol2006-04-291-12/+14
| | | | | | | | | | | | | | | Code cleanup/feature twist Description: Adjust recent H5AC routines to take H5F_t pointers instead of H5C_t pointers, to match the rest of the H5AC routines. This change propagated into a few of the tests, which also had some compiler warnings cleaned up... Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Linux 2.4/64 (mir) w/C++ & FORTRAN
* [svn-r12311] Purpose:John Mainzer2006-04-281-132/+1046
| | | | | | | | | | | | | | | | | | | | | | | | | Add pinned entry capability to cache. Description: For frequently accessed cache entries, the protect/unprotect overhead is sometimes a bottleneck. Solution: Allow entries to be pinned in the cache. Pinned entries can't be evicted, but can be flushed or modified. Platforms tested: h5committested -- minus one small typo in test/cache.c whose fix was tested on copper and heping only. Misc. update:
* [svn-r12227] Purpose:Albert Cheng2006-04-121-5/+5
| | | | | | | | | | | | | | | | | bug fix. Description: The MPE_Stop_log did not work in copper. It spewed out MPE errors and ended in infinite looping. Solution: Changed to a smaller test size to avoid generating huge MPE log files when MPE is configured in. Platforms tested: Copper (mpe) Misc. update:
* [svn-r12224] Purpose:Albert Cheng2006-04-111-0/+5
| | | | | | | | | | | | | | | | Bug fix. Description: When MPE is used, the test generates huge Clog files in /tmp that could fill up the disk (like in Copper.) Solution: Turned off MPE logging. Platforms tested: heping (pp) and copper(pp) Misc. update:
* [svn-r11915] Purpose:John Mainzer2006-01-311-7/+19
| | | | | | | | | | | | | | | | | | | Attempt to ensure that the parallel cache test runs at a reasonable speed with large numbers of processors. Description: In some cases, the number of random locks and unlocks was a multiple of the MPI rank. Solution: Use rank % 4 instead of simply rank. Platforms tested: copper Misc. update:
* [svn-r11904] Purpose:John Mainzer2006-01-291-0/+3487
Add a file that I forgot in my last checkin. Description: t_cache.c is the source file for the new parallel metadata cache test. Solution: See above. Platforms tested: h5committested before the last checkin. Will run another h5committest shortly, but it shouldn't be necessary as there are no new changes. Misc. update: