diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2010-01-27 16:33:16 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2010-01-27 16:33:16 (GMT) |
commit | 581d57ba7b2a673d118facdde3adcd32d60eb4dc (patch) | |
tree | 81d5b4cb00ce1dda58976cb06a11e9dc2ec30dd4 /test/cache_common.h | |
parent | f5c061aa2160fb4903ba9d41ec1b050033550e10 (diff) | |
download | hdf5-581d57ba7b2a673d118facdde3adcd32d60eb4dc.zip hdf5-581d57ba7b2a673d118facdde3adcd32d60eb4dc.tar.gz hdf5-581d57ba7b2a673d118facdde3adcd32d60eb4dc.tar.bz2 |
[svn-r18172] Description:
Bring r18171 from trunk to 1.8 branch (with appropriate tweaks):
Bring r18169 from 'merge_metadata_journaling' branch back to trunk:
Converge changes on metadata_journaling branch and trunk:
- Remove H5F_t* parameter from H5HL_unprotect()
- Remove H5F_t* parameter from H5HL_dirty()
- Remove H5F_t* parameter from H5O_unprotect()
- Bring changes to metadata caching routines back:
- H5AC_pin_protected_entry()
- H5AC_resize_pinned_entry()
- H5AC_unpin_entry()
- H5AC_mark_pinned_entry_dirty()
- H5AC_mark_pinned_or_protected_entry_dirty()
- Revise internal H5C routines to drop H5F_t* and/or H5C_t* as
parameter where possible
- Revise tests to follow internal routine changes
Also, other minor changes to speedup the 'cache' test.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
Diffstat (limited to 'test/cache_common.h')
-rw-r--r-- | test/cache_common.h | 98 |
1 files changed, 51 insertions, 47 deletions
diff --git a/test/cache_common.h b/test/cache_common.h index f76f47c..0009ab3 100644 --- a/test/cache_common.h +++ b/test/cache_common.h @@ -19,17 +19,20 @@ * This file contains common #defines, type definitions, and * externs for tests of the cache implemented in H5C.c */ -#include "h5test.h" -#include "H5Iprivate.h" -#include "H5ACprivate.h" +#ifndef _CACHE_COMMON_H +#define _CACHE_COMMON_H #define H5C_PACKAGE /*suppress error about including H5Cpkg */ - -#include "H5Cpkg.h" - #define H5F_PACKAGE /*suppress error about including H5Fpkg */ +/* Include library header files */ +#include "H5ACprivate.h" +#include "H5Cpkg.h" #include "H5Fpkg.h" +#include "H5Iprivate.h" + +/* Include test header files */ +#include "h5test.h" #define NO_CHANGE -1 @@ -72,7 +75,11 @@ #define MAX_ENTRIES (10 * 1024) -#define PICO_BASE_ADDR (haddr_t)0 +/* The choice of the BASE_ADDR below is arbitrary -- it just has to be + * larger than the superblock. + */ +#define BASE_ADDR (haddr_t)1024 +#define PICO_BASE_ADDR BASE_ADDR #define NANO_BASE_ADDR (haddr_t)(PICO_BASE_ADDR + \ (PICO_ENTRY_SIZE * NUM_PICO_ENTRIES)) #define MICRO_BASE_ADDR (haddr_t)(NANO_BASE_ADDR + \ @@ -112,6 +119,9 @@ (HUGE_ENTRY_SIZE * NUM_HUGE_ENTRIES)) #define VARIABLE_ALT_BASE_ADDR (haddr_t)(MONSTER_ALT_BASE_ADDR + \ (MONSTER_ENTRY_SIZE * NUM_MONSTER_ENTRIES)) +#define MAX_ADDR (haddr_t)(VARIABLE_ALT_BASE_ADDR + \ + (VARIABLE_ENTRY_SIZE * NUM_VARIABLE_ENTRIES)) +#define ADDR_SPACE_SIZE (haddr_t)(MAX_ADDR - BASE_ADDR) #define MAX_PINS 8 /* Maximum number of entries that can be * directly pinned by a single entry. @@ -442,15 +452,15 @@ struct expected_entry_status int entry_type; int entry_index; size_t size; - hbool_t in_cache; - hbool_t at_main_addr; - hbool_t is_dirty; - hbool_t is_protected; - hbool_t is_pinned; - hbool_t loaded; - hbool_t cleared; - hbool_t flushed; - hbool_t destroyed; + 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; }; @@ -594,29 +604,27 @@ haddr_t type_and_index_to_addr(int32_t type, int32_t idx); #endif -void dirty_entry(H5C_t * cache_ptr, +void dirty_entry(H5F_t * file_ptr, int32_t type, int32_t idx, hbool_t dirty_pin); -void expunge_entry(H5C_t * cache_ptr, +void expunge_entry(H5F_t * file_ptr, int32_t type, int32_t idx); -void insert_entry(H5C_t * cache_ptr, +void insert_entry(H5F_t * file_ptr, int32_t type, int32_t idx, hbool_t dirty, unsigned int flags); -void mark_pinned_entry_dirty(H5C_t * cache_ptr, - int32_t type, +void mark_pinned_entry_dirty(int32_t type, int32_t idx, hbool_t size_changed, size_t new_size); -void mark_pinned_or_protected_entry_dirty(H5C_t * cache_ptr, - int32_t type, +void mark_pinned_or_protected_entry_dirty(int32_t type, int32_t idx); void rename_entry(H5C_t * cache_ptr, @@ -624,11 +632,11 @@ void rename_entry(H5C_t * cache_ptr, int32_t idx, hbool_t main_addr); -void protect_entry(H5C_t * cache_ptr, +void protect_entry(H5F_t * file_ptr, int32_t type, int32_t idx); -void protect_entry_ro(H5C_t * cache_ptr, +void protect_entry_ro(H5F_t * file_ptr, int32_t type, int32_t idx); @@ -636,20 +644,15 @@ hbool_t entry_in_cache(H5C_t * cache_ptr, int32_t type, int32_t idx); -void create_pinned_entry_dependency(H5C_t * cache_ptr, +void create_pinned_entry_dependency(H5F_t * file_ptr, int pinning_type, int pinning_idx, int pinned_type, int pinned_idx); -void execute_flush_op(H5C_t * cache_ptr, - struct test_entry_t * entry_ptr, - struct flush_op * op_ptr, - unsigned * flags_ptr); - void reset_entries(void); -void resize_entry(H5C_t * cache_ptr, +void resize_entry(H5F_t * file_ptr, int32_t type, int32_t idx, size_t new_size, @@ -660,9 +663,9 @@ void resize_pinned_entry(H5C_t * cache_ptr, int32_t idx, size_t new_size); -H5C_t * setup_cache(size_t max_cache_size, size_t min_clean_size); +H5F_t *setup_cache(size_t max_cache_size, size_t min_clean_size); -void row_major_scan_forward(H5C_t * cache_ptr, +void row_major_scan_forward(H5F_t * file_ptr, int32_t lag, hbool_t verbose, hbool_t reset_stats, @@ -677,7 +680,7 @@ void row_major_scan_forward(H5C_t * cache_ptr, int dirty_destroys, int dirty_unprotects); -void hl_row_major_scan_forward(H5C_t * cache_ptr, +void hl_row_major_scan_forward(H5F_t * file_ptr, int32_t max_index, hbool_t verbose, hbool_t reset_stats, @@ -686,7 +689,7 @@ void hl_row_major_scan_forward(H5C_t * cache_ptr, hbool_t do_inserts, hbool_t dirty_inserts); -void row_major_scan_backward(H5C_t * cache_ptr, +void row_major_scan_backward(H5F_t * file_ptr, int32_t lag, hbool_t verbose, hbool_t reset_stats, @@ -701,7 +704,7 @@ void row_major_scan_backward(H5C_t * cache_ptr, int dirty_destroys, int dirty_unprotects); -void hl_row_major_scan_backward(H5C_t * cache_ptr, +void hl_row_major_scan_backward(H5F_t * file_ptr, int32_t max_index, hbool_t verbose, hbool_t reset_stats, @@ -710,7 +713,7 @@ void hl_row_major_scan_backward(H5C_t * cache_ptr, hbool_t do_inserts, hbool_t dirty_inserts); -void col_major_scan_forward(H5C_t * cache_ptr, +void col_major_scan_forward(H5F_t * file_ptr, int32_t lag, hbool_t verbose, hbool_t reset_stats, @@ -720,7 +723,7 @@ void col_major_scan_forward(H5C_t * cache_ptr, hbool_t dirty_inserts, int dirty_unprotects); -void hl_col_major_scan_forward(H5C_t * cache_ptr, +void hl_col_major_scan_forward(H5F_t * file_ptr, int32_t max_index, hbool_t verbose, hbool_t reset_stats, @@ -730,7 +733,7 @@ void hl_col_major_scan_forward(H5C_t * cache_ptr, hbool_t dirty_inserts, int dirty_unprotects); -void col_major_scan_backward(H5C_t * cache_ptr, +void col_major_scan_backward(H5F_t * file_ptr, int32_t lag, hbool_t verbose, hbool_t reset_stats, @@ -740,7 +743,7 @@ void col_major_scan_backward(H5C_t * cache_ptr, hbool_t dirty_inserts, int dirty_unprotects); -void hl_col_major_scan_backward(H5C_t * cache_ptr, +void hl_col_major_scan_backward(H5F_t * file_ptr, int32_t max_index, hbool_t verbose, hbool_t reset_stats, @@ -750,26 +753,25 @@ void hl_col_major_scan_backward(H5C_t * cache_ptr, hbool_t dirty_inserts, int dirty_unprotects); -void takedown_cache(H5C_t * cache_ptr, +void takedown_cache(H5F_t * file_ptr, hbool_t dump_stats, hbool_t dump_detailed_stats); -void flush_cache(H5C_t * cache_ptr, +void flush_cache(H5F_t * file_ptr, hbool_t destroy_entries, hbool_t dump_stats, hbool_t dump_detailed_stats); -void unpin_entry(H5C_t * cache_ptr, - int32_t type, +void unpin_entry(int32_t type, int32_t idx); -void unprotect_entry(H5C_t * cache_ptr, +void unprotect_entry(H5F_t * file_ptr, int32_t type, int32_t idx, int dirty, unsigned int flags); -void unprotect_entry_with_size_change(H5C_t * cache_ptr, +void unprotect_entry_with_size_change(H5F_t * file_ptr, int32_t type, int32_t idx, unsigned int flags, @@ -784,3 +786,5 @@ void verify_entry_status(H5C_t * cache_ptr, void verify_unprotected(void); +#endif /* _CACHE_COMMON_H */ + |