Commit Graph

35 Commits

Author SHA1 Message Date
Quincey Koziol
9e76314bb7 [svn-r19115] Description:
Rename H5AC_set() to H5AC_insert_entry()
        Get rid of H5C_set_skip_flags() & related flags

Tested on:
        Mac OS X/32 10.6.4 (amazon) w/debug
        (too simple to require h5committest)
2010-07-20 13:52:37 -05:00
Quincey Koziol
28b214719b [svn-r18927] Description:
Get down to just one "resize_configs_are_equal" comparison routine.

Tested on:
    Mac OS X/32 10.6.3 (amazon)
    (too minor to require h5committest)
2010-05-31 13:46:04 -05:00
Quincey Koziol
e4246519c9 [svn-r18920] Description:
Bring r18917 from trunk to 1.8 branch:

	Bring r18911 (plus some adaptions to match the code on the trunk)
from the metadata journaling "merging" branch to the trunk:

	More general changes to align trunk with eventual changes from
metadata journaling branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
2010-05-27 17:57:29 -05:00
Quincey Koziol
83f50e5a72 [svn-r18865] Description:
Bring r18864 from trunk to 1.8 branch:

	General cleanups to align metadata journaling branch and trunk

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-05-20 07:43:30 -05:00
Quincey Koziol
4e0e18dfa5 [svn-r18851] Description:
Bring r18837 from trunk to 1.8 branch:

	Remove the size parameter from H5[A]C_unprotect() and the
H5[A]C__SIZE_CHANGED_FLAG, switching all clients & tests over to using
H5[A]C_resize_entry appropriately.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Mac OS X/32 10.6.3 (amazon) in debug mode
       Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
	(h5committested on trunk)
2010-05-18 14:09:04 -05:00
Quincey Koziol
ae6f5891b5 [svn-r18741] Description:
Bring r18740 from trunk to 1.8 branch:

	Bring r18738 from metadata journaling 'merging' branch to trunk:

	Switch H5AC_resize_pinned_entry() to work on protected entries as well,
and rename to H5AC_resize_entry()

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-05-06 22:02:03 -05:00
Quincey Koziol
abd749619d [svn-r18726] Description:
Bring r18725 from trunk to 1.8 branch:

	Bring r18724 from metadata journaling 'merging' branch to trunk:

	Rename H5[A]C_rename to H5[A]C_move_entry.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-05-06 10:39:23 -05:00
Quincey Koziol
b95c7d1879 [svn-r18722] Description:
Bring r18721 from trunk to 1.8 branch:

	Bring r18720 from metadata journaling merging branch to trunk:

	Bring changes from metadata journaling branch to 'merging' branch:

	Rename H5[A]C_mark_pinned_or_protected_entry_dirty() to
H5[A]C_mark_entry_dirty() and get rid of H5[A]C_mark_pinned_entry_dirty().

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-05-06 09:19:28 -05:00
Quincey Koziol
3f3a900177 [svn-r18704] Description:
Bring r18702 from trunk to 1.8 branch:

	Bring r18672 from metadata journaling "merging" branch to trunk:

	Mostly changes to move to only using one 'user data' parameter for
calls to H5AC_protect(), along with some minor reformatting code cleanups.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.3 (amazon) in debug mode
       Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2010-05-05 09:45:57 -05:00
Quincey Koziol
3a66bae1d8 [svn-r18253] Description:
Bring r18252 from trunk to 1.8 branch:

    Rename test macros that are [nearly] identical to source code macros to
have "TEST" in their names, to avoid conflicts during compilation.  (And add
comment to originals in source code, to keep them in sync).

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    up041 machines (at Sandia)
2010-02-14 14:40:58 -05:00
Quincey Koziol
c5c85080a7 [svn-r18225] Description:
Bring r18244 from trunk to 1.8 branch:

    Bring revisions from Coverity session from hdf5_1_8_coverity branch to
trunk:

r18214:
Issue 423:  cache_ptr was not initialized. if global 'pass' was false,
cache_ptr could be used. Extended scope of if(pass) block to include whole
function-flush_cache().

r18215:
Fix coverity item 317.  Removed unreachable code in H5B2_hdr_alloc.

r18216:
Fixed Coverity issues 57 & 67.  Checked oid_count > 0 before memory allocation
and oid_list != NULL before dereferencing.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (daily tested on Coverity branch already)
2010-02-09 17:39:43 -05:00
Quincey Koziol
fa1f33701d [svn-r18198] Description:
Trim trailing whitespace from source code files, with following command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:33:04 -05:00
Quincey Koziol
581d57ba7b [svn-r18172] Description:
Bring r18171 from trunk to 1.8 branch (with appropriate tweaks):
	Bring r18169 from 'merge_metadata_journaling' branch back to trunk:

	Converge changes on metadata_journaling branch and trunk:
		- Remove H5F_t* parameter from H5HL_unprotect()
		- Remove H5F_t* parameter from H5HL_dirty()
		- Remove H5F_t* parameter from H5O_unprotect()
		- Bring changes to metadata caching routines back:
		     - H5AC_pin_protected_entry()
		     - H5AC_resize_pinned_entry()
		     - H5AC_unpin_entry()
		     - H5AC_mark_pinned_entry_dirty()
		     - H5AC_mark_pinned_or_protected_entry_dirty()
		 - Revise internal H5C routines to drop H5F_t* and/or H5C_t* as
			parameter where possible
		 - Revise tests to follow internal routine changes

	Also, other minor changes to speedup the 'cache' test.

Tested on:
      FreeBSD/32 6.3 (duty) in debug mode
      FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
      Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
              w/C++ & FORTRAN, w/threadsafe, in debug mode
      Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
              w/C++ & FORTRAN, in production mode
      Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
              w/szip filter, in production mode
      Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
              in production mode
      Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
      Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
      Mac OS X/32 10.6.2 (amazon) in debug mode
      Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
2010-01-27 11:33:16 -05:00
Quincey Koziol
23bfde73c2 [svn-r18083] Description:
Correct Coverity issue #6 by removing debugging knob from error reporting
code.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
2010-01-08 14:24:17 -05:00
Quincey Koziol
828e7e2416 [svn-r16566] Description:
Bring r16560 back from trunk.

Tested on:
    Mac OS X/32 10.5.6 (amazon) debug & production
    (Following up with tests on more platforms)
2009-03-10 20:44:36 -05:00
Mike McGreevy
7b9871bfa2 [svn-r16293] Purpose:
Bug Fix

Description:

    Removed problematic debugging statement and switched one remaining TRUE
    verbose statement to FALSE in cache_common.c

Tested:

    jam, liberty
2009-01-10 09:59:49 -05:00
Mike McGreevy
52d3f187a5 [svn-r16291] Purpose:
svn merge

Description:

    merging revision 16290 from trunk to 1.8

   (revision 16290 contains the code that maintains a min_clean_fraction
   of the metadata cache in serial).

Tested:

    smirom, jam
2009-01-09 16:10:29 -05:00
Quincey Koziol
bdbdbb9f89 [svn-r15801] Description:
Bring r15800 back from trunk:

		- File free space branch changes through r15794

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (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/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-07 08:32:32 -05:00
Quincey Koziol
b9be045596 [svn-r15629] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

   foreach f (*.[ch] *.cpp)
       sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
   end

Tested on:
   Mac OS X/32 10.5.5 (amazon)
   No need for h5committest, just whitespace changes...
2008-09-16 11:22:16 -05:00
John Mainzer
d236e2a992 [svn-r14442] Modified metadata cache to adapt more quickly to the insertion of a
large entry, or to a large increases in the size of an existing entry.
This required some additions to the cache configuration structure, and
thus will require changes in the metadata cache documentation.

The basic idea is to monitor the size of entries as they are loaded,
inserted, or increased in size.  If the size of the entry (or increase)
exceeds some user selected fraction of the size of the cache, increase
the size of the cache.

Note that this fix was designed quickly -- while it deals with the 
use case that exposed the problem, we may have to revisit the issue
later.

Tested serial and parallel on Phoenix, and h5committest.
2008-01-18 12:52:12 -05:00
Quincey Koziol
aa96180fa9 [svn-r13690] Description:
Fully enable readers/writer locking in metadata cache and correct errors
in cache clients which were modifying a cache entry while only holding a
read lock on it.

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
2007-04-19 13:43:10 -05:00
John Mainzer
030543bf0d [svn-r13618] Modified metadata cache to support multiple read only protects of
cache entries.  Added test code to test the new feature.  Also some 
minor cleanum

h5committested -- passed on copper and sol.  Failed on osage with 
a configuration error that appears unrelated to my changes.  Serial
test (debug mode) passes on Phoenix (Linux x86 2.6 kernel), so I 
went ahead with the checkin.
2007-04-09 13:58:42 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG 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.
2007-02-07 09:56:24 -05:00
Quincey Koziol
fa11904aab [svn-r13151] Description:
Clean up compiler warnings, esp. on Windows

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.8 (amazon)
2007-01-17 18:37:24 -05:00
Quincey Koziol
25f3bf9011 [svn-r12828] Description:
Clean up compiler warnings...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-30 10:58:46 -05:00
John Mainzer
2d6bb59329 [svn-r12774] Modified flush code in the metadata cache to allow it to
handle flush callbacks which can dirty other entries, and
resize and/or rename the target entry.

This feature is needed by the fractal heap code.

Also added associated test code.


H5Commit tested.  Test failed on heping, but the 
error appears to be a syntax error in an un-related
file.

Tests on copper & sol passed, along with tests on 
phoenix.
2006-10-18 05:51:26 -05:00
Quincey Koziol
a6f6462541 [svn-r12700] Alert:
File format is not stable, don't keep files produced!

Description:
    First stage of checkins modifying the format of groups to support creation
order.  Implement "dense" storage for links in groups.

    Try to clarify some of the symbols for the H5L API.

    Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)

    Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).

    Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.

    Clean up lots of compiler warnings and other minor formatting issues.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-v1.6 compa
    Mac OSX/32 10.4.8 (amazon)
    AIX 5.3 (copper) w/parallel & FORTRAN
2006-10-02 05:24:03 -05:00
Quincey Koziol
fe2ae3efc7 [svn-r12620] Description:
Clean up some compiler warnings by removing "UNUSED" from function
prototypes.

Tested on:
    Linux 2.? (tg-login3)
    Too minor to require h5committest
2006-08-23 13:28:17 -05:00
John Mainzer
e8c1fdd554 [svn-r12595] Modified H5C_insert_entry() to accept the H5C__PIN_ENTRY_FLAG entry
flag, and pin an entry as it is inserted.

The objective is to avoid some function call overhead in fheap.

Also added matching test code in test/cache.c & test/cache_common.c
(also testpar/t_cache.c checked in separately by accident)

h5commit tested
2006-08-17 17:04:47 -05:00
John Mainzer
801b5b09f2 [svn-r12462] Committed a variety of metadata cache related changes:
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).
2006-07-13 12:59:39 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
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
2006-06-27 09:45:06 -05:00
John Mainzer
a415cc6b17 [svn-r12374] Purpose:
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:
2006-05-24 02:36:28 -05:00
Quincey Koziol
eb96132022 [svn-r12316] Purpose:
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
2006-04-29 14:28:23 -05:00
John Mainzer
8a7b9b3221 [svn-r12311] Purpose:
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:
2006-04-28 08:27:54 -05:00
John Mainzer
c18b328ff1 [svn-r11903] Purpose:
Add files that I forgot in my last checkin.

Description:

cache_api.c cache_common.c cache_common.h are new files that result
from breaking the old cache test into two tests.


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:
2006-01-28 21:34:14 -05:00