2006-01-29 10:34:14 +08:00
|
|
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
2007-02-07 22:56:24 +08:00
|
|
|
|
* Copyright by The HDF Group. *
|
2006-01-29 10:34:14 +08:00
|
|
|
|
* Copyright by the Board of Trustees of the University of Illinois. *
|
|
|
|
|
* All rights reserved. *
|
|
|
|
|
* *
|
|
|
|
|
* This file is part of HDF5. The full HDF5 copyright notice, including *
|
|
|
|
|
* terms governing use, modification, and redistribution, is contained in *
|
|
|
|
|
* the files COPYING and Copyright.html. COPYING can be found at the root *
|
|
|
|
|
* of the source code distribution tree; Copyright.html can be found at the *
|
|
|
|
|
* root level of an installed copy of the electronic HDF5 document set and *
|
|
|
|
|
* is linked from the top-level documents page. It can also be found at *
|
2007-02-07 22:56:24 +08:00
|
|
|
|
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
|
|
|
|
|
* access to either file, you may request a copy from help@hdfgroup.org. *
|
2006-01-29 10:34:14 +08:00
|
|
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
|
|
|
|
|
|
/* Programmer: John Mainzer
|
|
|
|
|
* 10/27/05
|
|
|
|
|
*
|
|
|
|
|
* This file contains common #defines, type definitions, and
|
|
|
|
|
* externs for tests of the cache implemented in H5C.c
|
|
|
|
|
*/
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
#ifndef _CACHE_COMMON_H
|
|
|
|
|
#define _CACHE_COMMON_H
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
#define H5C_PACKAGE /*suppress error about including H5Cpkg */
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
#define H5F_PACKAGE /*suppress error about including H5Fpkg */
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
/* Include library header files */
|
|
|
|
|
#include "H5ACprivate.h"
|
2006-01-29 10:34:14 +08:00
|
|
|
|
#include "H5Cpkg.h"
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
#include "H5Fpkg.h"
|
|
|
|
|
#include "H5Iprivate.h"
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
/* Include test header files */
|
|
|
|
|
#include "h5test.h"
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
/* Macro to make error reporting easier */
|
[svn-r16618] Description:
Modify metadata cache flush dependency feature to allow it to work
with entries that are pinned through the cache API calls.
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/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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-27 02:16:54 +08:00
|
|
|
|
#define CACHE_ERROR(s) {failure_mssg = "Line #" H5_TOSTRING(__LINE__) ": " s ; pass = FALSE; goto done;}
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
[svn-r18702] Description:
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 21:39:56 +08:00
|
|
|
|
#define NO_CHANGE -1
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
/* with apologies for the abuse of terminology... */
|
|
|
|
|
|
|
|
|
|
#define PICO_ENTRY_TYPE 0
|
|
|
|
|
#define NANO_ENTRY_TYPE 1
|
|
|
|
|
#define MICRO_ENTRY_TYPE 2
|
|
|
|
|
#define TINY_ENTRY_TYPE 3
|
|
|
|
|
#define SMALL_ENTRY_TYPE 4
|
|
|
|
|
#define MEDIUM_ENTRY_TYPE 5
|
|
|
|
|
#define LARGE_ENTRY_TYPE 6
|
|
|
|
|
#define HUGE_ENTRY_TYPE 7
|
|
|
|
|
#define MONSTER_ENTRY_TYPE 8
|
2006-10-18 18:51:26 +08:00
|
|
|
|
#define VARIABLE_ENTRY_TYPE 9
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
#define NOTIFY_ENTRY_TYPE 10
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
#define NUMBER_OF_ENTRY_TYPES 11
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
#define PICO_ENTRY_SIZE (size_t)1
|
|
|
|
|
#define NANO_ENTRY_SIZE (size_t)4
|
|
|
|
|
#define MICRO_ENTRY_SIZE (size_t)16
|
|
|
|
|
#define TINY_ENTRY_SIZE (size_t)64
|
|
|
|
|
#define SMALL_ENTRY_SIZE (size_t)256
|
|
|
|
|
#define MEDIUM_ENTRY_SIZE (size_t)1024
|
|
|
|
|
#define LARGE_ENTRY_SIZE (size_t)(4 * 1024)
|
|
|
|
|
#define HUGE_ENTRY_SIZE (size_t)(16 * 1024)
|
|
|
|
|
#define MONSTER_ENTRY_SIZE (size_t)(64 * 1024)
|
2006-10-18 18:51:26 +08:00
|
|
|
|
#define VARIABLE_ENTRY_SIZE (size_t)(10 * 1024)
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
#define NOTIFY_ENTRY_SIZE (size_t)1
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
#define NUM_PICO_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_NANO_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_MICRO_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_TINY_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_SMALL_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_MEDIUM_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_LARGE_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_HUGE_ENTRIES (10 * 1024)
|
|
|
|
|
#define NUM_MONSTER_ENTRIES (10 * 1024)
|
2006-10-18 18:51:26 +08:00
|
|
|
|
#define NUM_VARIABLE_ENTRIES (10 * 1024)
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
#define NUM_NOTIFY_ENTRIES (10 * 1024)
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
#define MAX_ENTRIES (10 * 1024)
|
|
|
|
|
|
[svn-r18702] Description:
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 21:39:56 +08:00
|
|
|
|
|
2010-01-30 12:29:13 +08:00
|
|
|
|
/* The choice of the BASE_ADDR below is arbitrary -- it just has to be
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
* larger than the superblock.
|
|
|
|
|
*/
|
2010-01-30 12:29:13 +08:00
|
|
|
|
#define BASE_ADDR (haddr_t)1024
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
#define PICO_BASE_ADDR BASE_ADDR
|
2006-01-29 10:34:14 +08:00
|
|
|
|
#define NANO_BASE_ADDR (haddr_t)(PICO_BASE_ADDR + \
|
|
|
|
|
(PICO_ENTRY_SIZE * NUM_PICO_ENTRIES))
|
|
|
|
|
#define MICRO_BASE_ADDR (haddr_t)(NANO_BASE_ADDR + \
|
|
|
|
|
(NANO_ENTRY_SIZE * NUM_NANO_ENTRIES))
|
|
|
|
|
#define TINY_BASE_ADDR (haddr_t)(MICRO_BASE_ADDR + \
|
|
|
|
|
(MICRO_ENTRY_SIZE * NUM_MICRO_ENTRIES))
|
|
|
|
|
#define SMALL_BASE_ADDR (haddr_t)(TINY_BASE_ADDR + \
|
|
|
|
|
(TINY_ENTRY_SIZE * NUM_TINY_ENTRIES))
|
|
|
|
|
#define MEDIUM_BASE_ADDR (haddr_t)(SMALL_BASE_ADDR + \
|
|
|
|
|
(SMALL_ENTRY_SIZE * NUM_SMALL_ENTRIES))
|
|
|
|
|
#define LARGE_BASE_ADDR (haddr_t)(MEDIUM_BASE_ADDR + \
|
|
|
|
|
(MEDIUM_ENTRY_SIZE * NUM_MEDIUM_ENTRIES))
|
|
|
|
|
#define HUGE_BASE_ADDR (haddr_t)(LARGE_BASE_ADDR + \
|
|
|
|
|
(LARGE_ENTRY_SIZE * NUM_LARGE_ENTRIES))
|
|
|
|
|
#define MONSTER_BASE_ADDR (haddr_t)(HUGE_BASE_ADDR + \
|
|
|
|
|
(HUGE_ENTRY_SIZE * NUM_HUGE_ENTRIES))
|
2006-10-18 18:51:26 +08:00
|
|
|
|
#define VARIABLE_BASE_ADDR (haddr_t)(MONSTER_BASE_ADDR + \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
(MONSTER_ENTRY_SIZE * NUM_MONSTER_ENTRIES))
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
#define NOTIFY_BASE_ADDR (haddr_t)(VARIABLE_BASE_ADDR + \
|
|
|
|
|
(VARIABLE_ENTRY_SIZE * NUM_VARIABLE_ENTRIES))
|
2006-10-18 18:51:26 +08:00
|
|
|
|
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
#define PICO_ALT_BASE_ADDR (haddr_t)(NOTIFY_BASE_ADDR + \
|
|
|
|
|
(NOTIFY_ENTRY_SIZE * NUM_NOTIFY_ENTRIES))
|
2006-01-29 10:34:14 +08:00
|
|
|
|
#define NANO_ALT_BASE_ADDR (haddr_t)(PICO_ALT_BASE_ADDR + \
|
|
|
|
|
(PICO_ENTRY_SIZE * NUM_PICO_ENTRIES))
|
|
|
|
|
#define MICRO_ALT_BASE_ADDR (haddr_t)(NANO_ALT_BASE_ADDR + \
|
|
|
|
|
(NANO_ENTRY_SIZE * NUM_NANO_ENTRIES))
|
|
|
|
|
#define TINY_ALT_BASE_ADDR (haddr_t)(MICRO_ALT_BASE_ADDR + \
|
|
|
|
|
(MICRO_ENTRY_SIZE * NUM_MICRO_ENTRIES))
|
|
|
|
|
#define SMALL_ALT_BASE_ADDR (haddr_t)(TINY_ALT_BASE_ADDR + \
|
|
|
|
|
(TINY_ENTRY_SIZE * NUM_TINY_ENTRIES))
|
|
|
|
|
#define MEDIUM_ALT_BASE_ADDR (haddr_t)(SMALL_ALT_BASE_ADDR + \
|
|
|
|
|
(SMALL_ENTRY_SIZE * NUM_SMALL_ENTRIES))
|
|
|
|
|
#define LARGE_ALT_BASE_ADDR (haddr_t)(MEDIUM_ALT_BASE_ADDR + \
|
|
|
|
|
(MEDIUM_ENTRY_SIZE * NUM_MEDIUM_ENTRIES))
|
|
|
|
|
#define HUGE_ALT_BASE_ADDR (haddr_t)(LARGE_ALT_BASE_ADDR + \
|
|
|
|
|
(LARGE_ENTRY_SIZE * NUM_LARGE_ENTRIES))
|
|
|
|
|
#define MONSTER_ALT_BASE_ADDR (haddr_t)(HUGE_ALT_BASE_ADDR + \
|
|
|
|
|
(HUGE_ENTRY_SIZE * NUM_HUGE_ENTRIES))
|
2006-10-18 18:51:26 +08:00
|
|
|
|
#define VARIABLE_ALT_BASE_ADDR (haddr_t)(MONSTER_ALT_BASE_ADDR + \
|
|
|
|
|
(MONSTER_ENTRY_SIZE * NUM_MONSTER_ENTRIES))
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
#define NOTIFY_ALT_BASE_ADDR (haddr_t)(VARIABLE_ALT_BASE_ADDR + \
|
|
|
|
|
(VARIABLE_ENTRY_SIZE * NUM_VARIABLE_ENTRIES))
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
#define MAX_ADDR (haddr_t)(NOTIFY_ALT_BASE_ADDR + \
|
|
|
|
|
(NOTIFY_ENTRY_SIZE * NUM_NOTIFY_ENTRIES))
|
|
|
|
|
#define ADDR_SPACE_SIZE (haddr_t)(MAX_ADDR - BASE_ADDR)
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
2006-06-27 22:45:06 +08:00
|
|
|
|
#define MAX_PINS 8 /* Maximum number of entries that can be
|
2006-04-28 21:27:54 +08:00
|
|
|
|
* directly pinned by a single entry.
|
|
|
|
|
*/
|
2006-10-18 18:51:26 +08:00
|
|
|
|
|
|
|
|
|
#define FLUSH_OP__NO_OP 0
|
|
|
|
|
#define FLUSH_OP__DIRTY 1
|
|
|
|
|
#define FLUSH_OP__RESIZE 2
|
|
|
|
|
#define FLUSH_OP__RENAME 3
|
[svn-r16600] Description:
Ensure that metadata cache entries with flush dependencies are written
to the file in the correct order (for serial I/O, at least).
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-25 01:52:17 +08:00
|
|
|
|
#define FLUSH_OP__ORDER 4
|
|
|
|
|
#define FLUSH_OP__MAX_OP 4
|
2006-10-18 18:51:26 +08:00
|
|
|
|
|
|
|
|
|
#define MAX_FLUSH_OPS 10 /* Maximum number of flush operations
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* that can be associated with a
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* cache entry.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
typedef struct flush_op
|
|
|
|
|
{
|
|
|
|
|
int op_code; /* integer op code indicating the
|
|
|
|
|
* operation to be performed. At
|
|
|
|
|
* present it must be one of:
|
|
|
|
|
*
|
|
|
|
|
* FLUSH_OP__NO_OP
|
|
|
|
|
* FLUSH_OP__DIRTY
|
|
|
|
|
* FLUSH_OP__RESIZE
|
|
|
|
|
* FLUSH_OP__RENAME
|
[svn-r16600] Description:
Ensure that metadata cache entries with flush dependencies are written
to the file in the correct order (for serial I/O, at least).
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-25 01:52:17 +08:00
|
|
|
|
* FLUSH_OP__ORDER
|
2006-10-18 18:51:26 +08:00
|
|
|
|
*/
|
|
|
|
|
int type; /* type code of the cache entry that
|
|
|
|
|
* is the target of the operation.
|
|
|
|
|
* This value is passed into the
|
|
|
|
|
* function implementing the flush
|
|
|
|
|
* operation.
|
|
|
|
|
*/
|
|
|
|
|
int idx; /* index of the cache entry that
|
|
|
|
|
* is the target of the operation.
|
|
|
|
|
* This value is passed into the
|
|
|
|
|
* function implementing the flush
|
|
|
|
|
* operation.
|
|
|
|
|
*/
|
2008-09-16 23:52:51 +08:00
|
|
|
|
hbool_t flag; /* boolean flag passed into the
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* function implementing the flush
|
|
|
|
|
* operation. The meaning of the
|
|
|
|
|
* flag is dependant upon the flush
|
|
|
|
|
* operation:
|
|
|
|
|
*
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* FLUSH_OP__DIRTY: TRUE iff the
|
|
|
|
|
* target is pinned, and is to
|
|
|
|
|
* be dirtied via the
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* H5C_mark_pinned_entry_dirty()
|
|
|
|
|
* call.
|
|
|
|
|
*
|
|
|
|
|
* FLUSH_OP__RESIZE: TRUE iff the
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* target is pinned, and is to
|
|
|
|
|
* be resized via the
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* H5C_mark_pinned_entry_dirty()
|
|
|
|
|
* call.
|
|
|
|
|
*
|
|
|
|
|
* FLUSH_OP__RENAME: TRUE iff the
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* target is to be renamed to
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* its main address.
|
|
|
|
|
*/
|
2008-09-16 23:52:51 +08:00
|
|
|
|
size_t size; /* New target size in the
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* FLUSH_OP__RENAME operation.
|
|
|
|
|
* Unused elsewhere.
|
|
|
|
|
*/
|
[svn-r16600] Description:
Ensure that metadata cache entries with flush dependencies are written
to the file in the correct order (for serial I/O, at least).
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-25 01:52:17 +08:00
|
|
|
|
unsigned * order_ptr; /* Pointer to outside counter for
|
|
|
|
|
* recording the order of entries
|
|
|
|
|
* flushed.
|
|
|
|
|
*/
|
2006-10-18 18:51:26 +08:00
|
|
|
|
} flush_op;
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
typedef struct test_entry_t
|
|
|
|
|
{
|
|
|
|
|
H5C_cache_entry_t header; /* entry data used by the cache
|
|
|
|
|
* -- must be first
|
|
|
|
|
*/
|
|
|
|
|
struct test_entry_t * self; /* pointer to this entry -- used for
|
|
|
|
|
* sanity checking.
|
|
|
|
|
*/
|
2006-06-27 22:45:06 +08:00
|
|
|
|
H5C_t * cache_ptr; /* pointer to the cache in which
|
2006-04-28 21:27:54 +08:00
|
|
|
|
* the entry resides, or NULL if the
|
|
|
|
|
* entry is not in cache.
|
|
|
|
|
*/
|
2006-01-29 10:34:14 +08:00
|
|
|
|
haddr_t addr; /* where the cache thinks this entry
|
|
|
|
|
* is located
|
|
|
|
|
*/
|
|
|
|
|
hbool_t at_main_addr; /* boolean flag indicating whether
|
|
|
|
|
* the entry is supposed to be at
|
|
|
|
|
* either its main or alternate
|
|
|
|
|
* address.
|
|
|
|
|
*/
|
|
|
|
|
haddr_t main_addr; /* initial location of the entry
|
|
|
|
|
*/
|
|
|
|
|
haddr_t alt_addr; /* location to which the entry
|
|
|
|
|
* can be relocated or "renamed"
|
|
|
|
|
*/
|
|
|
|
|
size_t size; /* how big the cache thinks this
|
|
|
|
|
* entry is
|
|
|
|
|
*/
|
|
|
|
|
int32_t type; /* indicates which entry array this
|
|
|
|
|
* entry is in
|
|
|
|
|
*/
|
|
|
|
|
int32_t index; /* index in its entry array
|
|
|
|
|
*/
|
|
|
|
|
int32_t reads; /* number of times this entry has
|
|
|
|
|
* been loaded.
|
|
|
|
|
*/
|
|
|
|
|
int32_t writes; /* number of times this entry has
|
|
|
|
|
* been written
|
|
|
|
|
*/
|
|
|
|
|
hbool_t is_dirty; /* entry has been modified since
|
|
|
|
|
* last write
|
|
|
|
|
*/
|
|
|
|
|
hbool_t is_protected; /* entry should currently be on
|
|
|
|
|
* the cache's protected list.
|
|
|
|
|
*/
|
2008-09-16 23:52:51 +08:00
|
|
|
|
hbool_t is_read_only; /* TRUE iff the entry should be
|
2007-04-10 02:58:42 +08:00
|
|
|
|
* protected read only.
|
|
|
|
|
*/
|
|
|
|
|
int ro_ref_count; /* Number of outstanding read only
|
|
|
|
|
* protects on the entry.
|
|
|
|
|
*/
|
2006-04-28 21:27:54 +08:00
|
|
|
|
hbool_t is_pinned; /* entry is currently pinned in
|
|
|
|
|
* the cache.
|
|
|
|
|
*/
|
2006-06-27 22:45:06 +08:00
|
|
|
|
int pinning_ref_count; /* Number of entries that
|
2006-04-28 21:27:54 +08:00
|
|
|
|
* pin this entry in the cache.
|
|
|
|
|
* When this count drops to zero,
|
|
|
|
|
* this entry should be unpinned.
|
|
|
|
|
*/
|
|
|
|
|
int num_pins; /* Number of entries that this
|
|
|
|
|
* entry pins in the cache. This
|
|
|
|
|
* value must be in the range
|
|
|
|
|
* [0, MAX_PINS].
|
|
|
|
|
*/
|
|
|
|
|
int pin_type[MAX_PINS]; /* array of the types of entries
|
|
|
|
|
* pinned by this entry.
|
|
|
|
|
*/
|
2006-06-27 22:45:06 +08:00
|
|
|
|
int pin_idx[MAX_PINS]; /* array of the indicies of
|
2006-04-28 21:27:54 +08:00
|
|
|
|
* entries pinned by this entry.
|
|
|
|
|
*/
|
2006-10-18 18:51:26 +08:00
|
|
|
|
int num_flush_ops; /* integer field containing the
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* number of flush operations to
|
|
|
|
|
* be executed when the entry is
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* flushed. This value must lie in
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* the closed interval
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* [0, MAX_FLUSH_OPS].
|
|
|
|
|
*/
|
|
|
|
|
struct flush_op flush_ops[MAX_FLUSH_OPS]; /* Array of instances
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* of struct flush_op detailing the
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* flush operations (if any) that
|
|
|
|
|
* are to be executed when the entry
|
|
|
|
|
* is flushed from the cache.
|
|
|
|
|
*
|
|
|
|
|
* num_flush_ops contains the number
|
|
|
|
|
* of valid entries in this array.
|
|
|
|
|
*/
|
2008-09-16 23:52:51 +08:00
|
|
|
|
hbool_t flush_op_self_resize_in_progress; /* Boolean flag
|
|
|
|
|
* that is set to TRUE iff this
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* entry is being flushed, it has
|
|
|
|
|
* been resized by a resize flush
|
|
|
|
|
* op, and the flush function has
|
|
|
|
|
* not yet returned, This field is
|
2008-09-16 23:52:51 +08:00
|
|
|
|
* used to turn off overactive santity
|
|
|
|
|
* checking code that would otherwise
|
2006-10-18 18:51:26 +08:00
|
|
|
|
* cause a false test failure.
|
|
|
|
|
*/
|
2006-01-29 10:34:14 +08:00
|
|
|
|
hbool_t loaded; /* entry has been loaded since the
|
|
|
|
|
* last time it was reset.
|
|
|
|
|
*/
|
|
|
|
|
hbool_t cleared; /* entry has been cleared since the
|
|
|
|
|
* last time it was reset.
|
|
|
|
|
*/
|
|
|
|
|
hbool_t flushed; /* entry has been flushed since the
|
|
|
|
|
* last time it was reset.
|
|
|
|
|
*/
|
|
|
|
|
hbool_t destroyed; /* entry has been destroyed since the
|
|
|
|
|
* last time it was reset.
|
|
|
|
|
*/
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
int flush_dep_par_type; /* Entry type of flush dependency parent */
|
|
|
|
|
int flush_dep_par_idx; /* Index of flush dependency parent */
|
|
|
|
|
uint64_t child_flush_dep_height_rc[H5C__NUM_FLUSH_DEP_HEIGHTS];
|
|
|
|
|
/* flush dependency heights of flush
|
|
|
|
|
* dependency children
|
|
|
|
|
*/
|
|
|
|
|
unsigned flush_dep_height; /* flush dependency height of entry */
|
[svn-r16618] Description:
Modify metadata cache flush dependency feature to allow it to work
with entries that are pinned through the cache API calls.
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/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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-27 02:16:54 +08:00
|
|
|
|
hbool_t pinned_from_client; /* entry was pinned by client call */
|
|
|
|
|
hbool_t pinned_from_cache; /* entry was pinned by cache internally */
|
[svn-r16600] Description:
Ensure that metadata cache entries with flush dependencies are written
to the file in the correct order (for serial I/O, at least).
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-25 01:52:17 +08:00
|
|
|
|
unsigned flush_order; /* Order that entry was flushed in */
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
|
|
|
|
|
unsigned notify_after_insert_count; /* Count of times that entry was inserted in cache */
|
|
|
|
|
unsigned notify_before_evict_count; /* Count of times that entry was removed in cache */
|
2006-01-29 10:34:14 +08:00
|
|
|
|
} test_entry_t;
|
|
|
|
|
|
|
|
|
|
/* The following is a cut down copy of the hash table manipulation
|
|
|
|
|
* macros from H5C.c, which have been further modified to avoid references
|
|
|
|
|
* to the error reporting macros. Needless to say, these macros must be
|
|
|
|
|
* updated as necessary.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#define H5C__HASH_MASK ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
|
|
|
|
|
#define H5C__HASH_FCN(x) (int)(((x) & H5C__HASH_MASK) >> 3)
|
|
|
|
|
|
2010-02-15 03:27:07 +08:00
|
|
|
|
#define H5C_TEST__PRE_HT_SEARCH_SC(cache_ptr, Addr) \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
if ( ( (cache_ptr) == NULL ) || \
|
|
|
|
|
( (cache_ptr)->magic != H5C__H5C_T_MAGIC ) || \
|
2010-02-15 03:27:07 +08:00
|
|
|
|
( (cache_ptr)->index_size != \
|
|
|
|
|
((cache_ptr)->clean_index_size + (cache_ptr)->dirty_index_size) ) || \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
( ! H5F_addr_defined(Addr) ) || \
|
|
|
|
|
( H5C__HASH_FCN(Addr) < 0 ) || \
|
|
|
|
|
( H5C__HASH_FCN(Addr) >= H5C__HASH_TABLE_LEN ) ) { \
|
|
|
|
|
HDfprintf(stdout, "Pre HT search SC failed.\n"); \
|
|
|
|
|
}
|
|
|
|
|
|
2010-02-15 03:27:07 +08:00
|
|
|
|
#define H5C_TEST__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, Addr, k) \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
if ( ( (cache_ptr) == NULL ) || \
|
|
|
|
|
( (cache_ptr)->magic != H5C__H5C_T_MAGIC ) || \
|
|
|
|
|
( (cache_ptr)->index_len < 1 ) || \
|
|
|
|
|
( (entry_ptr) == NULL ) || \
|
|
|
|
|
( (cache_ptr)->index_size < (entry_ptr)->size ) || \
|
2010-02-15 03:27:07 +08:00
|
|
|
|
( (cache_ptr)->index_size != \
|
|
|
|
|
((cache_ptr)->clean_index_size + (cache_ptr)->dirty_index_size) ) || \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
( H5F_addr_ne((entry_ptr)->addr, (Addr)) ) || \
|
|
|
|
|
( (entry_ptr)->size <= 0 ) || \
|
|
|
|
|
( ((cache_ptr)->index)[k] == NULL ) || \
|
|
|
|
|
( ( ((cache_ptr)->index)[k] != (entry_ptr) ) && \
|
|
|
|
|
( (entry_ptr)->ht_prev == NULL ) ) || \
|
|
|
|
|
( ( ((cache_ptr)->index)[k] == (entry_ptr) ) && \
|
|
|
|
|
( (entry_ptr)->ht_prev != NULL ) ) || \
|
|
|
|
|
( ( (entry_ptr)->ht_prev != NULL ) && \
|
|
|
|
|
( (entry_ptr)->ht_prev->ht_next != (entry_ptr) ) ) || \
|
|
|
|
|
( ( (entry_ptr)->ht_next != NULL ) && \
|
|
|
|
|
( (entry_ptr)->ht_next->ht_prev != (entry_ptr) ) ) ) { \
|
|
|
|
|
HDfprintf(stdout, "Post successful HT search SC failed.\n"); \
|
|
|
|
|
}
|
|
|
|
|
|
2010-02-15 03:27:07 +08:00
|
|
|
|
#define H5C_TEST__POST_HT_SHIFT_TO_FRONT(cache_ptr, entry_ptr, k) \
|
|
|
|
|
if ( ( (cache_ptr) == NULL ) || \
|
|
|
|
|
( ((cache_ptr)->index)[k] != (entry_ptr) ) || \
|
|
|
|
|
( (entry_ptr)->ht_prev != NULL ) ) { \
|
|
|
|
|
HDfprintf(stdout, "Post HT shift to front failed.\n"); \
|
|
|
|
|
}
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
2010-02-15 03:27:07 +08:00
|
|
|
|
#define H5C_TEST__SEARCH_INDEX(cache_ptr, Addr, entry_ptr) \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
{ \
|
|
|
|
|
int k; \
|
|
|
|
|
int depth = 0; \
|
2010-02-15 03:27:07 +08:00
|
|
|
|
H5C_TEST__PRE_HT_SEARCH_SC(cache_ptr, Addr) \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
k = H5C__HASH_FCN(Addr); \
|
|
|
|
|
entry_ptr = ((cache_ptr)->index)[k]; \
|
|
|
|
|
while ( ( entry_ptr ) && ( H5F_addr_ne(Addr, (entry_ptr)->addr) ) ) \
|
|
|
|
|
{ \
|
|
|
|
|
(entry_ptr) = (entry_ptr)->ht_next; \
|
|
|
|
|
(depth)++; \
|
|
|
|
|
} \
|
|
|
|
|
if ( entry_ptr ) \
|
|
|
|
|
{ \
|
2010-02-15 03:27:07 +08:00
|
|
|
|
H5C_TEST__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, Addr, k) \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
if ( entry_ptr != ((cache_ptr)->index)[k] ) \
|
|
|
|
|
{ \
|
|
|
|
|
if ( (entry_ptr)->ht_next ) \
|
|
|
|
|
{ \
|
|
|
|
|
(entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev; \
|
|
|
|
|
} \
|
|
|
|
|
HDassert( (entry_ptr)->ht_prev != NULL ); \
|
|
|
|
|
(entry_ptr)->ht_prev->ht_next = (entry_ptr)->ht_next; \
|
|
|
|
|
((cache_ptr)->index)[k]->ht_prev = (entry_ptr); \
|
|
|
|
|
(entry_ptr)->ht_next = ((cache_ptr)->index)[k]; \
|
|
|
|
|
(entry_ptr)->ht_prev = NULL; \
|
|
|
|
|
((cache_ptr)->index)[k] = (entry_ptr); \
|
2010-02-15 03:27:07 +08:00
|
|
|
|
H5C_TEST__POST_HT_SHIFT_TO_FRONT(cache_ptr, entry_ptr, k) \
|
2006-01-29 10:34:14 +08:00
|
|
|
|
} \
|
|
|
|
|
} \
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* misc type definitions */
|
|
|
|
|
|
|
|
|
|
struct flush_cache_test_spec
|
|
|
|
|
{
|
|
|
|
|
int entry_num;
|
|
|
|
|
int entry_type;
|
|
|
|
|
int entry_index;
|
|
|
|
|
hbool_t insert_flag;
|
|
|
|
|
hbool_t dirty_flag;
|
|
|
|
|
unsigned int flags;
|
|
|
|
|
hbool_t expected_loaded;
|
|
|
|
|
hbool_t expected_cleared;
|
|
|
|
|
hbool_t expected_flushed;
|
|
|
|
|
hbool_t expected_destroyed;
|
|
|
|
|
};
|
|
|
|
|
|
2006-04-28 21:27:54 +08:00
|
|
|
|
struct pe_flush_cache_test_spec
|
|
|
|
|
{
|
|
|
|
|
int entry_num;
|
|
|
|
|
int entry_type;
|
|
|
|
|
int entry_index;
|
|
|
|
|
hbool_t insert_flag;
|
|
|
|
|
hbool_t dirty_flag;
|
|
|
|
|
unsigned int flags;
|
|
|
|
|
int num_pins;
|
|
|
|
|
int pin_type[MAX_PINS];
|
|
|
|
|
int pin_idx[MAX_PINS];
|
|
|
|
|
hbool_t expected_loaded;
|
|
|
|
|
hbool_t expected_cleared;
|
|
|
|
|
hbool_t expected_flushed;
|
|
|
|
|
hbool_t expected_destroyed;
|
|
|
|
|
};
|
|
|
|
|
|
2006-10-18 18:51:26 +08:00
|
|
|
|
struct fo_flush_entry_check
|
|
|
|
|
{
|
|
|
|
|
int entry_num;
|
|
|
|
|
int entry_type;
|
|
|
|
|
int entry_index;
|
|
|
|
|
size_t expected_size;
|
|
|
|
|
hbool_t in_cache;
|
|
|
|
|
hbool_t at_main_addr;
|
|
|
|
|
hbool_t is_dirty;
|
|
|
|
|
hbool_t is_protected;
|
|
|
|
|
hbool_t is_pinned;
|
|
|
|
|
hbool_t expected_loaded;
|
|
|
|
|
hbool_t expected_cleared;
|
|
|
|
|
hbool_t expected_flushed;
|
|
|
|
|
hbool_t expected_destroyed;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct fo_flush_cache_test_spec
|
|
|
|
|
{
|
|
|
|
|
int entry_num;
|
|
|
|
|
int entry_type;
|
|
|
|
|
int entry_index;
|
|
|
|
|
hbool_t insert_flag;
|
|
|
|
|
unsigned int flags;
|
|
|
|
|
size_t new_size;
|
|
|
|
|
int num_pins;
|
|
|
|
|
int pin_type[MAX_PINS];
|
|
|
|
|
int pin_idx[MAX_PINS];
|
|
|
|
|
int num_flush_ops;
|
|
|
|
|
struct flush_op flush_ops[MAX_FLUSH_OPS];
|
|
|
|
|
hbool_t expected_loaded;
|
|
|
|
|
hbool_t expected_cleared;
|
|
|
|
|
hbool_t expected_flushed;
|
|
|
|
|
hbool_t expected_destroyed;
|
|
|
|
|
};
|
|
|
|
|
|
2006-04-28 21:27:54 +08:00
|
|
|
|
struct rename_entry_test_spec
|
|
|
|
|
{
|
|
|
|
|
int entry_type;
|
|
|
|
|
int entry_index;
|
|
|
|
|
hbool_t is_dirty;
|
|
|
|
|
hbool_t is_pinned;
|
|
|
|
|
};
|
|
|
|
|
|
2006-10-18 18:51:26 +08:00
|
|
|
|
struct expected_entry_status
|
|
|
|
|
{
|
|
|
|
|
int entry_type;
|
|
|
|
|
int entry_index;
|
|
|
|
|
size_t size;
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
unsigned char in_cache;
|
|
|
|
|
unsigned char at_main_addr;
|
|
|
|
|
unsigned char is_dirty;
|
|
|
|
|
unsigned char is_protected;
|
|
|
|
|
unsigned char is_pinned;
|
|
|
|
|
unsigned char loaded;
|
|
|
|
|
unsigned char cleared;
|
|
|
|
|
unsigned char flushed;
|
|
|
|
|
unsigned char destroyed;
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
int flush_dep_par_type; /* Entry type of flush dependency parent */
|
|
|
|
|
int flush_dep_par_idx; /* Index of flush dependency parent */
|
|
|
|
|
uint64_t child_flush_dep_height_rc[H5C__NUM_FLUSH_DEP_HEIGHTS];
|
|
|
|
|
/* flush dependency heights of flush
|
|
|
|
|
* dependency children
|
|
|
|
|
*/
|
|
|
|
|
unsigned flush_dep_height; /* flush dependency height of entry */
|
[svn-r16600] Description:
Ensure that metadata cache entries with flush dependencies are written
to the file in the correct order (for serial I/O, at least).
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-25 01:52:17 +08:00
|
|
|
|
int flush_order; /* flush order of entry */
|
2006-10-18 18:51:26 +08:00
|
|
|
|
};
|
|
|
|
|
|
2006-04-28 21:27:54 +08:00
|
|
|
|
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
/* global variable externs: */
|
|
|
|
|
|
2010-04-13 10:09:48 +08:00
|
|
|
|
extern const char *FILENAME[3];
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
extern hbool_t write_permitted;
|
|
|
|
|
extern hbool_t pass; /* set to false on error */
|
|
|
|
|
extern hbool_t skip_long_tests;
|
|
|
|
|
extern hbool_t run_full_test;
|
|
|
|
|
extern const char *failure_mssg;
|
|
|
|
|
|
|
|
|
|
extern test_entry_t pico_entries[NUM_PICO_ENTRIES];
|
|
|
|
|
extern test_entry_t nano_entries[NUM_NANO_ENTRIES];
|
|
|
|
|
extern test_entry_t micro_entries[NUM_MICRO_ENTRIES];
|
|
|
|
|
extern test_entry_t tiny_entries[NUM_TINY_ENTRIES];
|
|
|
|
|
extern test_entry_t small_entries[NUM_SMALL_ENTRIES];
|
|
|
|
|
extern test_entry_t medium_entries[NUM_MEDIUM_ENTRIES];
|
|
|
|
|
extern test_entry_t large_entries[NUM_LARGE_ENTRIES];
|
|
|
|
|
extern test_entry_t huge_entries[NUM_HUGE_ENTRIES];
|
|
|
|
|
extern test_entry_t monster_entries[NUM_MONSTER_ENTRIES];
|
|
|
|
|
|
|
|
|
|
extern test_entry_t * entries[NUMBER_OF_ENTRY_TYPES];
|
|
|
|
|
extern const int32_t max_indices[NUMBER_OF_ENTRY_TYPES];
|
|
|
|
|
extern const size_t entry_sizes[NUMBER_OF_ENTRY_TYPES];
|
|
|
|
|
extern const haddr_t base_addrs[NUMBER_OF_ENTRY_TYPES];
|
|
|
|
|
extern const haddr_t alt_base_addrs[NUMBER_OF_ENTRY_TYPES];
|
|
|
|
|
extern const char * entry_type_names[NUMBER_OF_ENTRY_TYPES];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* call back function declarations: */
|
|
|
|
|
|
[svn-r14220] Description:
Change H5Aiterate2 -> H5Aiterate_by_name to be more consistent with
other new API routine names
Re-add H5Aiterate2, to operate on a particular object
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.4.10 (amazon) in debug mode
2007-10-31 03:52:05 +08:00
|
|
|
|
herr_t check_write_permitted(const H5F_t * f,
|
|
|
|
|
hid_t dxpl_id,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
hbool_t * write_permitted_ptr);
|
|
|
|
|
|
|
|
|
|
herr_t pico_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t nano_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t micro_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t tiny_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t small_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t medium_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t large_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t huge_clear(H5F_t * f, void * thing, hbool_t dest);
|
|
|
|
|
herr_t monster_clear(H5F_t * f, void * thing, hbool_t dest);
|
2006-10-18 18:51:26 +08:00
|
|
|
|
herr_t variable_clear(H5F_t * f, void * thing, hbool_t dest);
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
herr_t notify_clear(H5F_t * f, void * thing, hbool_t dest);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
herr_t pico_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t nano_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t micro_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t tiny_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t small_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t medium_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t large_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t huge_dest(H5F_t * f, void * thing);
|
|
|
|
|
herr_t monster_dest(H5F_t * f, void * thing);
|
2006-10-18 18:51:26 +08:00
|
|
|
|
herr_t variable_dest(H5F_t * f, void * thing);
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
herr_t notify_dest(H5F_t * f, void * thing);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
herr_t pico_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t nano_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t micro_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t tiny_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t small_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t medium_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t large_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t huge_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
herr_t monster_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
|
|
|
|
herr_t variable_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
herr_t notify_flush(H5F_t *f, hid_t dxpl_id, hbool_t dest,
|
|
|
|
|
haddr_t addr, void *thing, unsigned * flags_ptr);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
|
[svn-r18702] Description:
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 21:39:56 +08:00
|
|
|
|
void * pico_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * nano_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * micro_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * tiny_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * small_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * medium_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * large_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * huge_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * monster_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * variable_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
|
|
|
|
void * notify_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *udata);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
herr_t pico_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t nano_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t micro_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t tiny_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t small_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t medium_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t large_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t huge_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
herr_t monster_size(H5F_t * f, void * thing, size_t * size_ptr);
|
2006-10-18 18:51:26 +08:00
|
|
|
|
herr_t variable_size(H5F_t * f, void * thing, size_t * size_ptr);
|
[svn-r16874] Description:
Add test for cache client 'notify' callback.
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/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 debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-04-29 03:30:05 +08:00
|
|
|
|
herr_t notify_size(H5F_t * f, void * thing, size_t * size_ptr);
|
|
|
|
|
|
|
|
|
|
herr_t notify_notify(H5C_notify_action_t action, void *thing);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
|
|
|
|
/* callback table extern */
|
|
|
|
|
|
|
|
|
|
extern const H5C_class_t types[NUMBER_OF_ENTRY_TYPES];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* function declarations: */
|
|
|
|
|
|
2006-10-18 18:51:26 +08:00
|
|
|
|
void add_flush_op(int target_type,
|
|
|
|
|
int target_idx,
|
|
|
|
|
int op_code,
|
|
|
|
|
int type,
|
|
|
|
|
int idx,
|
|
|
|
|
hbool_t flag,
|
[svn-r16600] Description:
Ensure that metadata cache entries with flush dependencies are written
to the file in the correct order (for serial I/O, at least).
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-25 01:52:17 +08:00
|
|
|
|
size_t size,
|
|
|
|
|
unsigned * order);
|
2006-10-18 18:51:26 +08:00
|
|
|
|
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
void addr_to_type_and_index(haddr_t addr,
|
|
|
|
|
int32_t * type_ptr,
|
|
|
|
|
int32_t * index_ptr);
|
|
|
|
|
|
|
|
|
|
#if 0 /* keep this for a while -- it may be useful */
|
|
|
|
|
haddr_t type_and_index_to_addr(int32_t type,
|
|
|
|
|
int32_t idx);
|
|
|
|
|
#endif
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void dirty_entry(H5F_t * file_ptr,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx,
|
|
|
|
|
hbool_t dirty_pin);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void expunge_entry(H5F_t * file_ptr,
|
2006-07-14 01:59:39 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void insert_entry(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx,
|
|
|
|
|
hbool_t dirty,
|
|
|
|
|
unsigned int flags);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void mark_pinned_entry_dirty(int32_t type,
|
2006-04-28 21:27:54 +08:00
|
|
|
|
int32_t idx,
|
|
|
|
|
hbool_t size_changed,
|
|
|
|
|
size_t new_size);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void mark_pinned_or_protected_entry_dirty(int32_t type,
|
2006-05-24 15:36:28 +08:00
|
|
|
|
int32_t idx);
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
void rename_entry(H5C_t * cache_ptr,
|
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx,
|
|
|
|
|
hbool_t main_addr);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void protect_entry(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void protect_entry_ro(H5F_t * file_ptr,
|
2007-04-10 02:58:42 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void pin_entry(int32_t type,
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
int32_t idx);
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
hbool_t entry_in_cache(H5C_t * cache_ptr,
|
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void create_pinned_entry_dependency(H5F_t * file_ptr,
|
2006-04-28 21:27:54 +08:00
|
|
|
|
int pinning_type,
|
|
|
|
|
int pinning_idx,
|
|
|
|
|
int pinned_type,
|
|
|
|
|
int pinned_idx);
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
void reset_entries(void);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void resize_entry(H5F_t * file_ptr,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx,
|
|
|
|
|
size_t new_size,
|
|
|
|
|
hbool_t resize_pin);
|
|
|
|
|
|
2008-01-19 01:52:12 +08:00
|
|
|
|
void resize_pinned_entry(H5C_t * cache_ptr,
|
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx,
|
|
|
|
|
size_t new_size);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
H5F_t *setup_cache(size_t max_cache_size, size_t min_clean_size);
|
2006-01-29 10:34:14 +08:00
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void row_major_scan_forward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t lag,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts,
|
|
|
|
|
hbool_t do_renames,
|
|
|
|
|
hbool_t rename_to_main_addr,
|
|
|
|
|
hbool_t do_destroys,
|
2007-04-10 02:58:42 +08:00
|
|
|
|
hbool_t do_mult_ro_protects,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int dirty_destroys,
|
|
|
|
|
int dirty_unprotects);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void hl_row_major_scan_forward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t max_index,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void row_major_scan_backward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t lag,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts,
|
|
|
|
|
hbool_t do_renames,
|
|
|
|
|
hbool_t rename_to_main_addr,
|
|
|
|
|
hbool_t do_destroys,
|
2007-04-10 02:58:42 +08:00
|
|
|
|
hbool_t do_mult_ro_protects,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int dirty_destroys,
|
|
|
|
|
int dirty_unprotects);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void hl_row_major_scan_backward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t max_index,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void col_major_scan_forward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t lag,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts,
|
|
|
|
|
int dirty_unprotects);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void hl_col_major_scan_forward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t max_index,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts,
|
|
|
|
|
int dirty_unprotects);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void col_major_scan_backward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t lag,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts,
|
|
|
|
|
int dirty_unprotects);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void hl_col_major_scan_backward(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t max_index,
|
|
|
|
|
hbool_t verbose,
|
|
|
|
|
hbool_t reset_stats,
|
|
|
|
|
hbool_t display_stats,
|
|
|
|
|
hbool_t display_detailed_stats,
|
|
|
|
|
hbool_t do_inserts,
|
|
|
|
|
hbool_t dirty_inserts,
|
|
|
|
|
int dirty_unprotects);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void takedown_cache(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
hbool_t dump_stats,
|
|
|
|
|
hbool_t dump_detailed_stats);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void flush_cache(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
hbool_t destroy_entries,
|
|
|
|
|
hbool_t dump_stats,
|
|
|
|
|
hbool_t dump_detailed_stats);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void unpin_entry(int32_t type,
|
2006-04-28 21:27:54 +08:00
|
|
|
|
int32_t idx);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void unprotect_entry(H5F_t * file_ptr,
|
2006-01-29 10:34:14 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx,
|
|
|
|
|
int dirty,
|
|
|
|
|
unsigned int flags);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void unprotect_entry_with_size_change(H5F_t * file_ptr,
|
2006-10-18 18:51:26 +08:00
|
|
|
|
int32_t type,
|
|
|
|
|
int32_t idx,
|
|
|
|
|
unsigned int flags,
|
|
|
|
|
size_t new_size);
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
void verify_clean(void);
|
|
|
|
|
|
2006-10-18 18:51:26 +08:00
|
|
|
|
void verify_entry_status(H5C_t * cache_ptr,
|
|
|
|
|
int tag,
|
|
|
|
|
int num_entries,
|
|
|
|
|
struct expected_entry_status expected[]);
|
|
|
|
|
|
2006-01-29 10:34:14 +08:00
|
|
|
|
void verify_unprotected(void);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void create_flush_dependency(int32_t parent_type,
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
int32_t parent_idx,
|
|
|
|
|
int32_t child_type,
|
|
|
|
|
int32_t child_idx);
|
|
|
|
|
|
[svn-r18171] Description:
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, drop file/cache pointer parameter from create/destroy flush
dependency internal cache calls.
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 23:07:42 +08:00
|
|
|
|
void destroy_flush_dependency(int32_t parent_type,
|
[svn-r16587] Description:
Add infrastructure & tests for "flush dependencies" in metadata cache,
which allow relationships that specify which order to flush metadata entries in.
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/C++ & FORTRAN, w/threadsafe,
in debug 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
Mac OS X/32 10.5.6 (amazon) in debug mode
Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
2009-03-18 01:08:12 +08:00
|
|
|
|
int32_t parent_idx,
|
|
|
|
|
int32_t child_type,
|
|
|
|
|
int32_t child_idx);
|
|
|
|
|
|
|
|
|
|
#endif /* _CACHE_COMMON_H */
|
|
|
|
|
|