[svn-r18725] Description:

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

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

Tested on:
        FreeBSD/32 6.3 (duty) 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
This commit is contained in:
Quincey Koziol
2010-05-06 10:00:43 -05:00
parent 5b2226efc3
commit 809a91fad6
20 changed files with 390 additions and 443 deletions

View File

@@ -44,7 +44,7 @@
#include "H5SLprivate.h" /* Skip lists */
/* With the introduction of the fractal heap, it is now possible for
* entries to be dirtied, resized, and/or renamed in the flush callbacks.
* entries to be dirtied, resized, and/or moved in the flush callbacks.
* As a result, on flushes, it may be necessary to make multiple passes
* through the slist before it is empty. The H5C__MAX_PASSES_ON_FLUSH
* #define is used to set an upper limit on the number of passes.
@@ -283,7 +283,7 @@
* some optimizations when I get to it.
*
* With the addition of the fractal heap, the cache must now deal with
* the case in which entries may be dirtied, renamed, or have their sizes
* the case in which entries may be dirtied, moved, or have their sizes
* changed during a flush. To allow sanity checks in this situation, the
* following two fields have been added. They are only compiled in when
* H5C_DO_SANITY_CHECKS is TRUE.
@@ -669,19 +669,19 @@
* equal to the array index has been evicted from the cache in
* the current epoch.
*
* renames: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. The cells
* moves: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. The cells
* are used to record the number of times an entry with type
* id equal to the array index has been renamed in the current
* id equal to the array index has been moved in the current
* epoch.
*
* entry_flush_renames: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1.
* entry_flush_moves: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1.
* The cells are used to record the number of times an entry
* with type id equal to the array index has been renamed
* with type id equal to the array index has been moved
* during its flush callback in the current epoch.
*
* cache_flush_renames: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1.
* cache_flush_moves: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1.
* The cells are used to record the number of times an entry
* with type id equal to the array index has been renamed
* with type id equal to the array index has been moved
* during a cache flush in the current epoch.
*
* pins: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. The cells
@@ -959,9 +959,9 @@ struct H5C_t
int64_t clears[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t flushes[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t evictions[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t renames[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t entry_flush_renames[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t cache_flush_renames[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t moves[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t entry_flush_moves[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t cache_flush_moves[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t pins[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t unpins[H5C__MAX_NUM_TYPE_IDS + 1];
int64_t dirty_pins[H5C__MAX_NUM_TYPE_IDS + 1];
@@ -1492,14 +1492,14 @@ if ( ( (entry_ptr) == NULL ) || \
if ( (cache_ptr)->pel_size > (cache_ptr)->max_pel_size ) \
(cache_ptr)->max_pel_size = (cache_ptr)->pel_size;
#define H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, entry_ptr) \
#define H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, entry_ptr) \
if ( cache_ptr->flush_in_progress ) { \
((cache_ptr)->cache_flush_renames[(entry_ptr)->type->id])++; \
((cache_ptr)->cache_flush_moves[(entry_ptr)->type->id])++; \
} \
if ( entry_ptr->flush_in_progress ) { \
((cache_ptr)->entry_flush_renames[(entry_ptr)->type->id])++; \
((cache_ptr)->entry_flush_moves[(entry_ptr)->type->id])++; \
} \
(((cache_ptr)->renames)[(entry_ptr)->type->id])++;
(((cache_ptr)->moves)[(entry_ptr)->type->id])++;
#define H5C__UPDATE_STATS_FOR_ENTRY_SIZE_CHANGE(cache_ptr, entry_ptr, new_size)\
if ( cache_ptr->flush_in_progress ) { \
@@ -1727,7 +1727,7 @@ if ( ( (entry_ptr) == NULL ) || \
#define H5C__RESET_CACHE_ENTRY_STATS(entry_ptr)
#define H5C__UPDATE_STATS_FOR_DIRTY_PIN(cache_ptr, entry_ptr)
#define H5C__UPDATE_STATS_FOR_UNPROTECT(cache_ptr)
#define H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, entry_ptr)
#define H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, entry_ptr)
#define H5C__UPDATE_STATS_FOR_ENTRY_SIZE_CHANGE(cache_ptr, entry_ptr, new_size)
#define H5C__UPDATE_STATS_FOR_HT_INSERTION(cache_ptr)
#define H5C__UPDATE_STATS_FOR_HT_DELETION(cache_ptr)
@@ -2172,7 +2172,7 @@ if ( (cache_ptr)->index_size != \
* checks in the flush routines.
*
* All this is needed as the fractal heap needs to be
* able to dirty, resize and/or rename entries during the
* able to dirty, resize and/or move entries during the
* flush.
*
*-------------------------------------------------------------------------
@@ -2311,7 +2311,7 @@ if ( (cache_ptr)->index_size != \
* that are used in sanity checks in the flush routines.
*
* All this is needed as the fractal heap needs to be
* able to dirty, resize and/or rename entries during the
* able to dirty, resize and/or move entries during the
* flush.
*
*-------------------------------------------------------------------------
@@ -3056,10 +3056,10 @@ if ( (cache_ptr)->index_size != \
/*-------------------------------------------------------------------------
*
* Macro: H5C__UPDATE_RP_FOR_RENAME
* Macro: H5C__UPDATE_RP_FOR_MOVE
*
* Purpose: Update the replacement policy data structures for a
* rename of the specified cache entry.
* move of the specified cache entry.
*
* At present, we only support the modified LRU policy, so
* this function deals with that case unconditionally. If
@@ -3073,8 +3073,8 @@ if ( (cache_ptr)->index_size != \
* Modifications:
*
* JRM - 7/27/04
* Converted the function H5C_update_rp_for_rename() to the
* macro H5C__UPDATE_RP_FOR_RENAME in an effort to squeeze
* Converted the function H5C_update_rp_for_move() to the
* macro H5C__UPDATE_RP_FOR_MOVE in an effort to squeeze
* a bit more performance out of the cache.
*
* At least for the first cut, I am leaving the comments and
@@ -3088,11 +3088,11 @@ if ( (cache_ptr)->index_size != \
*
* JRM - 6/23/05
* Added the was_dirty parameter. It is possible that
* the entry was clean when it was renamed -- if so it
* the entry was clean when it was moved -- if so it
* it is in the clean LRU regardless of the current
* value of the is_dirty field.
*
* At present, all renamed entries are forced to be
* At present, all moved entries are forced to be
* dirty. This macro is a bit more general that that,
* to allow it to function correctly should that policy
* be relaxed in the future.
@@ -3112,7 +3112,7 @@ if ( (cache_ptr)->index_size != \
#if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS
#define H5C__UPDATE_RP_FOR_RENAME(cache_ptr, entry_ptr, was_dirty, fail_val) \
#define H5C__UPDATE_RP_FOR_MOVE(cache_ptr, entry_ptr, was_dirty, fail_val) \
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
@@ -3186,11 +3186,11 @@ if ( (cache_ptr)->index_size != \
\
/* End modified LRU specific code. */ \
} \
} /* H5C__UPDATE_RP_FOR_RENAME */
} /* H5C__UPDATE_RP_FOR_MOVE */
#else /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */
#define H5C__UPDATE_RP_FOR_RENAME(cache_ptr, entry_ptr, was_dirty, fail_val) \
#define H5C__UPDATE_RP_FOR_MOVE(cache_ptr, entry_ptr, was_dirty, fail_val) \
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
@@ -3219,7 +3219,7 @@ if ( (cache_ptr)->index_size != \
\
/* End modified LRU specific code. */ \
} \
} /* H5C__UPDATE_RP_FOR_RENAME */
} /* H5C__UPDATE_RP_FOR_MOVE */
#endif /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */