MISR Toolkit  1.5.1
Data Structures | Macros
H5Cpkg.h File Reference
#include "H5Cprivate.h"
#include "H5SLprivate.h"

Go to the source code of this file.

Data Structures

struct  H5C_t
 

Macros

#define H5C__MAX_PASSES_ON_FLUSH   4
 
#define H5C__HASH_TABLE_LEN   (64 * 1024) /* must be a power of 2 */
 
#define H5C__H5C_T_MAGIC   0x005CAC0E
 
#define H5C__MAX_NUM_TYPE_IDS   19
 
#define H5C__PREFIX_LEN   32
 
#define H5C__DLL_PRE_REMOVE_SC(entry_ptr, head_ptr, tail_ptr, len, Size, fv)
 
#define H5C__DLL_SC(head_ptr, tail_ptr, len, Size, fv)
 
#define H5C__DLL_PRE_INSERT_SC(entry_ptr, head_ptr, tail_ptr, len, Size, fv)
 
#define H5C__DLL_PRE_SIZE_UPDATE_SC(dll_len, dll_size, old_size, new_size)
 
#define H5C__DLL_POST_SIZE_UPDATE_SC(dll_len, dll_size, old_size, new_size)
 
#define H5C__DLL_APPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
 
#define H5C__DLL_PREPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
 
#define H5C__DLL_REMOVE(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
 
#define H5C__DLL_UPDATE_FOR_SIZE_CHANGE(dll_len, dll_size, old_size, new_size)
 
#define H5C__AUX_DLL_PRE_REMOVE_SC(entry_ptr, hd_ptr, tail_ptr, len, Size, fv)
 
#define H5C__AUX_DLL_SC(head_ptr, tail_ptr, len, Size, fv)
 
#define H5C__AUX_DLL_PRE_INSERT_SC(entry_ptr, hd_ptr, tail_ptr, len, Size, fv)
 
#define H5C__AUX_DLL_APPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
 
#define H5C__AUX_DLL_PREPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fv)
 
#define H5C__AUX_DLL_REMOVE(entry_ptr, head_ptr, tail_ptr, len, Size, fv)
 
#define H5C__UPDATE_CACHE_HIT_RATE_STATS(cache_ptr, hit)
 
#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_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)
 
#define H5C__UPDATE_STATS_FOR_HT_SEARCH(cache_ptr, success, depth)
 
#define H5C__UPDATE_STATS_FOR_INSERTION(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_STATS_FOR_CLEAR(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_STATS_FOR_FLUSH(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_STATS_FOR_EVICTION(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_STATS_FOR_PROTECT(cache_ptr, entry_ptr, hit)
 
#define H5C__UPDATE_STATS_FOR_PIN(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_STATS_FOR_UNPIN(cache_ptr, entry_ptr)
 
#define H5C__HASH_MASK   ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
 
#define H5C__HASH_FCN(x)   (int)(((x) & H5C__HASH_MASK) >> 3)
 
#define H5C__PRE_HT_INSERT_SC(cache_ptr, entry_ptr, fail_val)
 
#define H5C__PRE_HT_REMOVE_SC(cache_ptr, entry_ptr)
 
#define H5C__PRE_HT_SEARCH_SC(cache_ptr, Addr, fail_val)
 
#define H5C__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, Addr, k, fail_val)
 
#define H5C__POST_HT_SHIFT_TO_FRONT(cache_ptr, entry_ptr, k, fail_val)
 
#define H5C__PRE_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr)
 
#define H5C__PRE_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr)
 
#define H5C__PRE_HT_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size, entry_ptr, was_clean)
 
#define H5C__POST_HT_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size, entry_ptr)
 
#define H5C__POST_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr)
 
#define H5C__POST_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr)
 
#define H5C__INSERT_IN_INDEX(cache_ptr, entry_ptr, fail_val)
 
#define H5C__DELETE_FROM_INDEX(cache_ptr, entry_ptr)
 
#define H5C__SEARCH_INDEX(cache_ptr, Addr, entry_ptr, fail_val)
 
#define H5C__SEARCH_INDEX_NO_STATS(cache_ptr, Addr, entry_ptr, fail_val)
 
#define H5C__UPDATE_INDEX_FOR_ENTRY_CLEAN(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_INDEX_FOR_ENTRY_DIRTY(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_INDEX_FOR_SIZE_CHANGE(cache_ptr, old_size, new_size, entry_ptr, was_clean)
 
#define H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, fail_val)
 
#define H5C__REMOVE_ENTRY_FROM_SLIST(cache_ptr, entry_ptr)
 
#define H5C__UPDATE_SLIST_FOR_SIZE_CHANGE(cache_ptr, old_size, new_size)
 
#define H5C__FAKE_RP_FOR_MOST_RECENT_ACCESS(cache_ptr, entry_ptr, fail_val)
 
#define H5C__UPDATE_RP_FOR_EVICTION(cache_ptr, entry_ptr, fail_val)
 
#define H5C__UPDATE_RP_FOR_FLUSH(cache_ptr, entry_ptr, fail_val)
 
#define H5C__UPDATE_RP_FOR_INSERTION(cache_ptr, entry_ptr, fail_val)
 
#define H5C__UPDATE_RP_FOR_PROTECT(cache_ptr, entry_ptr, fail_val)
 
#define H5C__UPDATE_RP_FOR_MOVE(cache_ptr, entry_ptr, was_dirty, fail_val)
 
#define H5C__UPDATE_RP_FOR_SIZE_CHANGE(cache_ptr, entry_ptr, new_size)
 
#define H5C__UPDATE_RP_FOR_UNPIN(cache_ptr, entry_ptr, fail_val)
 
#define H5C__UPDATE_RP_FOR_UNPROTECT(cache_ptr, entry_ptr, fail_val)
 

Macro Definition Documentation

◆ H5C__AUX_DLL_APPEND

#define H5C__AUX_DLL_APPEND (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fail_val 
)
Value:
H5C__AUX_DLL_PRE_INSERT_SC(entry_ptr, head_ptr, tail_ptr, len, Size, \
fail_val) \
if ( (head_ptr) == NULL ) \
{ \
(head_ptr) = (entry_ptr); \
(tail_ptr) = (entry_ptr); \
} \
else \
{ \
(tail_ptr)->aux_next = (entry_ptr); \
(entry_ptr)->aux_prev = (tail_ptr); \
(tail_ptr) = (entry_ptr); \
} \
(len)++; \
(Size) += entry_ptr->size;
HDFFCLIBAPI intf * len
#define H5C__AUX_DLL_PRE_INSERT_SC(entry_ptr, hd_ptr, tail_ptr, len, Size, fv)
Definition: H5Cpkg.h:1335

Definition at line 1340 of file H5Cpkg.h.

◆ H5C__AUX_DLL_PRE_INSERT_SC

#define H5C__AUX_DLL_PRE_INSERT_SC (   entry_ptr,
  hd_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)

Definition at line 1335 of file H5Cpkg.h.

◆ H5C__AUX_DLL_PRE_REMOVE_SC

#define H5C__AUX_DLL_PRE_REMOVE_SC (   entry_ptr,
  hd_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)

Definition at line 1333 of file H5Cpkg.h.

◆ H5C__AUX_DLL_PREPEND

#define H5C__AUX_DLL_PREPEND (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)
Value:
H5C__AUX_DLL_PRE_INSERT_SC(entry_ptr, head_ptr, tail_ptr, len, Size, \
fv) \
if ( (head_ptr) == NULL ) \
{ \
(head_ptr) = (entry_ptr); \
(tail_ptr) = (entry_ptr); \
} \
else \
{ \
(head_ptr)->aux_prev = (entry_ptr); \
(entry_ptr)->aux_next = (head_ptr); \
(head_ptr) = (entry_ptr); \
} \
(len)++; \
(Size) += entry_ptr->size;
HDFFCLIBAPI intf * len
#define H5C__AUX_DLL_PRE_INSERT_SC(entry_ptr, hd_ptr, tail_ptr, len, Size, fv)
Definition: H5Cpkg.h:1335

Definition at line 1357 of file H5Cpkg.h.

◆ H5C__AUX_DLL_REMOVE

#define H5C__AUX_DLL_REMOVE (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)

Definition at line 1374 of file H5Cpkg.h.

◆ H5C__AUX_DLL_SC

#define H5C__AUX_DLL_SC (   head_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)

Definition at line 1334 of file H5Cpkg.h.

◆ H5C__DELETE_FROM_INDEX

#define H5C__DELETE_FROM_INDEX (   cache_ptr,
  entry_ptr 
)
Value:
{ \
int k; \
H5C__PRE_HT_REMOVE_SC(cache_ptr, entry_ptr) \
k = H5C__HASH_FCN((entry_ptr)->addr); \
if ( (entry_ptr)->ht_next ) \
{ \
(entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev; \
} \
if ( (entry_ptr)->ht_prev ) \
{ \
(entry_ptr)->ht_prev->ht_next = (entry_ptr)->ht_next; \
} \
if ( ((cache_ptr)->index)[k] == (entry_ptr) ) \
{ \
((cache_ptr)->index)[k] = (entry_ptr)->ht_next; \
} \
(entry_ptr)->ht_next = NULL; \
(entry_ptr)->ht_prev = NULL; \
(cache_ptr)->index_len--; \
(cache_ptr)->index_size -= (entry_ptr)->size; \
if ( (entry_ptr)->is_dirty ) { \
(cache_ptr)->dirty_index_size -= (entry_ptr)->size; \
} else { \
(cache_ptr)->clean_index_size -= (entry_ptr)->size; \
} \
H5C__UPDATE_STATS_FOR_HT_DELETION(cache_ptr) \
}
#define H5C__HASH_FCN(x)
Definition: H5Cpkg.h:1747
HDFFCLIBAPI intf * index

Definition at line 1967 of file H5Cpkg.h.

◆ H5C__DLL_APPEND

#define H5C__DLL_APPEND (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fail_val 
)
Value:
H5C__DLL_PRE_INSERT_SC(entry_ptr, head_ptr, tail_ptr, len, Size, \
fail_val) \
if ( (head_ptr) == NULL ) \
{ \
(head_ptr) = (entry_ptr); \
(tail_ptr) = (entry_ptr); \
} \
else \
{ \
(tail_ptr)->next = (entry_ptr); \
(entry_ptr)->prev = (tail_ptr); \
(tail_ptr) = (entry_ptr); \
} \
(len)++; \
(Size) += (entry_ptr)->size;
HDFFCLIBAPI intf * len
#define H5C__DLL_PRE_INSERT_SC(entry_ptr, head_ptr, tail_ptr, len, Size, fv)
Definition: H5Cpkg.h:1185

Definition at line 1192 of file H5Cpkg.h.

◆ H5C__DLL_POST_SIZE_UPDATE_SC

#define H5C__DLL_POST_SIZE_UPDATE_SC (   dll_len,
  dll_size,
  old_size,
  new_size 
)

Definition at line 1187 of file H5Cpkg.h.

◆ H5C__DLL_PRE_INSERT_SC

#define H5C__DLL_PRE_INSERT_SC (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)

Definition at line 1185 of file H5Cpkg.h.

◆ H5C__DLL_PRE_REMOVE_SC

#define H5C__DLL_PRE_REMOVE_SC (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)

Definition at line 1183 of file H5Cpkg.h.

◆ H5C__DLL_PRE_SIZE_UPDATE_SC

#define H5C__DLL_PRE_SIZE_UPDATE_SC (   dll_len,
  dll_size,
  old_size,
  new_size 
)

Definition at line 1186 of file H5Cpkg.h.

◆ H5C__DLL_PREPEND

#define H5C__DLL_PREPEND (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fail_val 
)
Value:
H5C__DLL_PRE_INSERT_SC(entry_ptr, head_ptr, tail_ptr, len, Size, \
fail_val) \
if ( (head_ptr) == NULL ) \
{ \
(head_ptr) = (entry_ptr); \
(tail_ptr) = (entry_ptr); \
} \
else \
{ \
(head_ptr)->prev = (entry_ptr); \
(entry_ptr)->next = (head_ptr); \
(head_ptr) = (entry_ptr); \
} \
(len)++; \
(Size) += entry_ptr->size;
HDFFCLIBAPI intf * len
#define H5C__DLL_PRE_INSERT_SC(entry_ptr, head_ptr, tail_ptr, len, Size, fv)
Definition: H5Cpkg.h:1185

Definition at line 1209 of file H5Cpkg.h.

◆ H5C__DLL_REMOVE

#define H5C__DLL_REMOVE (   entry_ptr,
  head_ptr,
  tail_ptr,
  len,
  Size,
  fail_val 
)

Definition at line 1226 of file H5Cpkg.h.

◆ H5C__DLL_SC

#define H5C__DLL_SC (   head_ptr,
  tail_ptr,
  len,
  Size,
  fv 
)

Definition at line 1184 of file H5Cpkg.h.

◆ H5C__DLL_UPDATE_FOR_SIZE_CHANGE

#define H5C__DLL_UPDATE_FOR_SIZE_CHANGE (   dll_len,
  dll_size,
  old_size,
  new_size 
)
Value:
H5C__DLL_PRE_SIZE_UPDATE_SC(dll_len, dll_size, old_size, new_size) \
(dll_size) -= (old_size); \
(dll_size) += (new_size); \
H5C__DLL_POST_SIZE_UPDATE_SC(dll_len, dll_size, old_size, new_size)
#define H5C__DLL_PRE_SIZE_UPDATE_SC(dll_len, dll_size, old_size, new_size)
Definition: H5Cpkg.h:1186

Definition at line 1260 of file H5Cpkg.h.

◆ H5C__FAKE_RP_FOR_MOST_RECENT_ACCESS

#define H5C__FAKE_RP_FOR_MOST_RECENT_ACCESS (   cache_ptr,
  entry_ptr,
  fail_val 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( !((entry_ptr)->is_protected) ); \
HDassert( !((entry_ptr)->is_read_only) ); \
HDassert( ((entry_ptr)->ro_ref_count) == 0 ); \
HDassert( (entry_ptr)->size > 0 ); \
if ( ! ((entry_ptr)->is_pinned) ) { \
\
/* modified LRU specific code */ \
\
/* remove the entry from the LRU list, and re-insert it at the head \
*/ \
H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
\
/* End modified LRU specific code. */ \
} \
} /* H5C__FAKE_RP_FOR_MOST_RECENT_ACCESS */
if((msg=H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL) if((H5E_DATASET_g
HDFFCLIBAPI intf * size
#define H5C__DLL_PREPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1209
#define H5C__DLL_REMOVE(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1226
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 2454 of file H5Cpkg.h.

◆ H5C__H5C_T_MAGIC

#define H5C__H5C_T_MAGIC   0x005CAC0E

Definition at line 841 of file H5Cpkg.h.

◆ H5C__HASH_FCN

#define H5C__HASH_FCN (   x)    (int)(((x) & H5C__HASH_MASK) >> 3)

Definition at line 1747 of file H5Cpkg.h.

◆ H5C__HASH_MASK

#define H5C__HASH_MASK   ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)

Definition at line 1745 of file H5Cpkg.h.

◆ H5C__HASH_TABLE_LEN

#define H5C__HASH_TABLE_LEN   (64 * 1024) /* must be a power of 2 */

Definition at line 839 of file H5Cpkg.h.

◆ H5C__INSERT_ENTRY_IN_SLIST

#define H5C__INSERT_ENTRY_IN_SLIST (   cache_ptr,
  entry_ptr,
  fail_val 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( (entry_ptr)->size > 0 ); \
HDassert( H5F_addr_defined((entry_ptr)->addr) ); \
HDassert( !((entry_ptr)->in_slist) ); \
if ( H5SL_insert((cache_ptr)->slist_ptr, entry_ptr, &(entry_ptr)->addr) \
< 0 ) \
HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, (fail_val), \
"Can't insert entry in skip list") \
\
(entry_ptr)->in_slist = TRUE; \
(cache_ptr)->slist_len++; \
(cache_ptr)->slist_size += (entry_ptr)->size; \
\
HDassert( (cache_ptr)->slist_len > 0 ); \
HDassert( (cache_ptr)->slist_size > 0 ); \
\
} /* H5C__INSERT_ENTRY_IN_SLIST */
if((msg=H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL) if((H5E_DATASET_g
#define H5E_CACHE
Definition: H5Epubgen.h:59
#define H5E_BADVALUE
Definition: H5Epubgen.h:333
HDFFCLIBAPI intf * size
#define TRUE
Definition: odldef.h:49
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 2188 of file H5Cpkg.h.

◆ H5C__INSERT_IN_INDEX

#define H5C__INSERT_IN_INDEX (   cache_ptr,
  entry_ptr,
  fail_val 
)
Value:
{ \
int k; \
H5C__PRE_HT_INSERT_SC(cache_ptr, entry_ptr, fail_val) \
k = H5C__HASH_FCN((entry_ptr)->addr); \
if ( ((cache_ptr)->index)[k] == NULL ) \
{ \
((cache_ptr)->index)[k] = (entry_ptr); \
} \
else \
{ \
(entry_ptr)->ht_next = ((cache_ptr)->index)[k]; \
(entry_ptr)->ht_next->ht_prev = (entry_ptr); \
((cache_ptr)->index)[k] = (entry_ptr); \
} \
(cache_ptr)->index_len++; \
(cache_ptr)->index_size += (entry_ptr)->size; \
if ( (entry_ptr)->is_dirty ) { \
(cache_ptr)->dirty_index_size += (entry_ptr)->size; \
} else { \
(cache_ptr)->clean_index_size += (entry_ptr)->size; \
} \
H5C__UPDATE_STATS_FOR_HT_INSERTION(cache_ptr) \
}
#define H5C__HASH_FCN(x)
Definition: H5Cpkg.h:1747
HDFFCLIBAPI intf * index

Definition at line 1942 of file H5Cpkg.h.

◆ H5C__MAX_NUM_TYPE_IDS

#define H5C__MAX_NUM_TYPE_IDS   19

Definition at line 842 of file H5Cpkg.h.

◆ H5C__MAX_PASSES_ON_FLUSH

#define H5C__MAX_PASSES_ON_FLUSH   4

Definition at line 55 of file H5Cpkg.h.

◆ H5C__POST_HT_ENTRY_SIZE_CHANGE_SC

#define H5C__POST_HT_ENTRY_SIZE_CHANGE_SC (   cache_ptr,
  old_size,
  new_size,
  entry_ptr 
)

Definition at line 1934 of file H5Cpkg.h.

◆ H5C__POST_HT_SHIFT_TO_FRONT

#define H5C__POST_HT_SHIFT_TO_FRONT (   cache_ptr,
  entry_ptr,
  k,
  fail_val 
)

Definition at line 1929 of file H5Cpkg.h.

◆ H5C__POST_HT_UPDATE_FOR_ENTRY_CLEAN_SC

#define H5C__POST_HT_UPDATE_FOR_ENTRY_CLEAN_SC (   cache_ptr,
  entry_ptr 
)

Definition at line 1936 of file H5Cpkg.h.

◆ H5C__POST_HT_UPDATE_FOR_ENTRY_DIRTY_SC

#define H5C__POST_HT_UPDATE_FOR_ENTRY_DIRTY_SC (   cache_ptr,
  entry_ptr 
)

Definition at line 1937 of file H5Cpkg.h.

◆ H5C__POST_SUC_HT_SEARCH_SC

#define H5C__POST_SUC_HT_SEARCH_SC (   cache_ptr,
  entry_ptr,
  Addr,
  k,
  fail_val 
)

Definition at line 1928 of file H5Cpkg.h.

◆ H5C__PRE_HT_ENTRY_SIZE_CHANGE_SC

#define H5C__PRE_HT_ENTRY_SIZE_CHANGE_SC (   cache_ptr,
  old_size,
  new_size,
  entry_ptr,
  was_clean 
)

Definition at line 1932 of file H5Cpkg.h.

◆ H5C__PRE_HT_INSERT_SC

#define H5C__PRE_HT_INSERT_SC (   cache_ptr,
  entry_ptr,
  fail_val 
)

Definition at line 1925 of file H5Cpkg.h.

◆ H5C__PRE_HT_REMOVE_SC

#define H5C__PRE_HT_REMOVE_SC (   cache_ptr,
  entry_ptr 
)

Definition at line 1926 of file H5Cpkg.h.

◆ H5C__PRE_HT_SEARCH_SC

#define H5C__PRE_HT_SEARCH_SC (   cache_ptr,
  Addr,
  fail_val 
)

Definition at line 1927 of file H5Cpkg.h.

◆ H5C__PRE_HT_UPDATE_FOR_ENTRY_CLEAN_SC

#define H5C__PRE_HT_UPDATE_FOR_ENTRY_CLEAN_SC (   cache_ptr,
  entry_ptr 
)

Definition at line 1930 of file H5Cpkg.h.

◆ H5C__PRE_HT_UPDATE_FOR_ENTRY_DIRTY_SC

#define H5C__PRE_HT_UPDATE_FOR_ENTRY_DIRTY_SC (   cache_ptr,
  entry_ptr 
)

Definition at line 1931 of file H5Cpkg.h.

◆ H5C__PREFIX_LEN

#define H5C__PREFIX_LEN   32

Definition at line 843 of file H5Cpkg.h.

◆ H5C__REMOVE_ENTRY_FROM_SLIST

#define H5C__REMOVE_ENTRY_FROM_SLIST (   cache_ptr,
  entry_ptr 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( !((entry_ptr)->is_protected) ); \
HDassert( !((entry_ptr)->is_read_only) ); \
HDassert( ((entry_ptr)->ro_ref_count) == 0 ); \
HDassert( (entry_ptr)->size > 0 ); \
HDassert( (entry_ptr)->in_slist ); \
HDassert( (cache_ptr)->slist_ptr ); \
if ( H5SL_remove((cache_ptr)->slist_ptr, &(entry_ptr)->addr) \
!= (entry_ptr) ) \
"Can't delete entry from skip list.") \
\
HDassert( (cache_ptr)->slist_len > 0 ); \
(cache_ptr)->slist_len--; \
HDassert( (cache_ptr)->slist_size >= (entry_ptr)->size ); \
(cache_ptr)->slist_size -= (entry_ptr)->size; \
(entry_ptr)->in_slist = FALSE; \
} /* H5C__REMOVE_ENTRY_FROM_SLIST */
#define FALSE
Definition: odldef.h:53
if((msg=H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL) if((H5E_DATASET_g
#define H5E_CACHE
Definition: H5Epubgen.h:59
#define H5E_BADVALUE
Definition: H5Epubgen.h:333
HDFFCLIBAPI intf * size
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841
#define HGOTO_ERROR(err, ret_val)
Definition: herr.h:60
#define FAIL
Definition: hdf.h:94

Definition at line 2246 of file H5Cpkg.h.

◆ H5C__RESET_CACHE_ENTRY_STATS

#define H5C__RESET_CACHE_ENTRY_STATS (   entry_ptr)

Definition at line 1704 of file H5Cpkg.h.

◆ H5C__SEARCH_INDEX

#define H5C__SEARCH_INDEX (   cache_ptr,
  Addr,
  entry_ptr,
  fail_val 
)

Definition at line 1996 of file H5Cpkg.h.

◆ H5C__SEARCH_INDEX_NO_STATS

#define H5C__SEARCH_INDEX_NO_STATS (   cache_ptr,
  Addr,
  entry_ptr,
  fail_val 
)
Value:
{ \
int k; \
int depth = 0; \
H5C__PRE_HT_SEARCH_SC(cache_ptr, Addr, fail_val) \
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 ) \
{ \
H5C__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, Addr, k, fail_val) \
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); \
H5C__POST_HT_SHIFT_TO_FRONT(cache_ptr, entry_ptr, k, fail_val) \
} \
} \
}
#define H5C__HASH_FCN(x)
Definition: H5Cpkg.h:1747
HDFFCLIBAPI intf * index

Definition at line 2029 of file H5Cpkg.h.

◆ H5C__UPDATE_CACHE_HIT_RATE_STATS

#define H5C__UPDATE_CACHE_HIT_RATE_STATS (   cache_ptr,
  hit 
)
Value:
(cache_ptr->cache_accesses)++; \
if ( hit ) { \
(cache_ptr->cache_hits)++; \
} \

Definition at line 1439 of file H5Cpkg.h.

◆ H5C__UPDATE_INDEX_FOR_ENTRY_CLEAN

#define H5C__UPDATE_INDEX_FOR_ENTRY_CLEAN (   cache_ptr,
  entry_ptr 
)
Value:
{ \
H5C__PRE_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr); \
(cache_ptr)->dirty_index_size -= (entry_ptr)->size; \
(cache_ptr)->clean_index_size += (entry_ptr)->size; \
H5C__POST_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr); \
}

Definition at line 2061 of file H5Cpkg.h.

◆ H5C__UPDATE_INDEX_FOR_ENTRY_DIRTY

#define H5C__UPDATE_INDEX_FOR_ENTRY_DIRTY (   cache_ptr,
  entry_ptr 
)
Value:
{ \
H5C__PRE_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr); \
(cache_ptr)->clean_index_size -= (entry_ptr)->size; \
(cache_ptr)->dirty_index_size += (entry_ptr)->size; \
H5C__POST_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr); \
}

Definition at line 2069 of file H5Cpkg.h.

◆ H5C__UPDATE_INDEX_FOR_SIZE_CHANGE

#define H5C__UPDATE_INDEX_FOR_SIZE_CHANGE (   cache_ptr,
  old_size,
  new_size,
  entry_ptr,
  was_clean 
)
Value:
{ \
H5C__PRE_HT_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size, \
entry_ptr, was_clean) \
(cache_ptr)->index_size -= (old_size); \
(cache_ptr)->index_size += (new_size); \
if ( was_clean ) { \
(cache_ptr)->clean_index_size -= (old_size); \
} else { \
(cache_ptr)->dirty_index_size -= (old_size); \
} \
if ( (entry_ptr)->is_dirty ) { \
(cache_ptr)->dirty_index_size += (new_size); \
} else { \
(cache_ptr)->clean_index_size += (new_size); \
} \
H5C__POST_HT_ENTRY_SIZE_CHANGE_SC(cache_ptr, old_size, new_size, \
entry_ptr) \
}

Definition at line 2077 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_EVICTION

#define H5C__UPDATE_RP_FOR_EVICTION (   cache_ptr,
  entry_ptr,
  fail_val 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( !((entry_ptr)->is_protected) ); \
HDassert( !((entry_ptr)->is_read_only) ); \
HDassert( ((entry_ptr)->ro_ref_count) == 0 ); \
HDassert( !((entry_ptr)->is_pinned) ); \
HDassert( (entry_ptr)->size > 0 ); \
\
/* modified LRU specific code */ \
\
/* remove the entry from the LRU list. */ \
H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, (cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
\
} /* H5C__UPDATE_RP_FOR_EVICTION */
HDFFCLIBAPI intf * size
#define H5C__DLL_REMOVE(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1226
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 2575 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_FLUSH

#define H5C__UPDATE_RP_FOR_FLUSH (   cache_ptr,
  entry_ptr,
  fail_val 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( !((entry_ptr)->is_protected) ); \
HDassert( !((entry_ptr)->is_read_only) ); \
HDassert( ((entry_ptr)->ro_ref_count) == 0 ); \
HDassert( (entry_ptr)->size > 0 ); \
if ( ! ((entry_ptr)->is_pinned) ) { \
\
/* modified LRU specific code */ \
\
/* remove the entry from the LRU list, and re-insert it at the \
* head. \
*/ \
H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
\
/* End modified LRU specific code. */ \
} \
} /* H5C__UPDATE_RP_FOR_FLUSH */
if((msg=H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL) if((H5E_DATASET_g
HDFFCLIBAPI intf * size
#define H5C__DLL_PREPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1209
#define H5C__DLL_REMOVE(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1226
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 2708 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_INSERTION

#define H5C__UPDATE_RP_FOR_INSERTION (   cache_ptr,
  entry_ptr,
  fail_val 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( !((entry_ptr)->is_protected) ); \
HDassert( !((entry_ptr)->is_read_only) ); \
HDassert( ((entry_ptr)->ro_ref_count) == 0 ); \
HDassert( (entry_ptr)->size > 0 ); \
if ( (entry_ptr)->is_pinned ) { \
H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->pel_head_ptr, \
(cache_ptr)->pel_tail_ptr, \
(cache_ptr)->pel_len, \
(cache_ptr)->pel_size, (fail_val)) \
\
} else { \
\
/* modified LRU specific code */ \
\
/* insert the entry at the head of the LRU list. */ \
H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
\
/* End modified LRU specific code. */ \
} \
}
if((msg=H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL) if((H5E_DATASET_g
HDFFCLIBAPI intf * size
#define H5C__DLL_PREPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1209
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 2842 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_MOVE

#define H5C__UPDATE_RP_FOR_MOVE (   cache_ptr,
  entry_ptr,
  was_dirty,
  fail_val 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( !((entry_ptr)->is_protected) ); \
HDassert( !((entry_ptr)->is_read_only) ); \
HDassert( ((entry_ptr)->ro_ref_count) == 0 ); \
HDassert( (entry_ptr)->size > 0 ); \
if ( ! ( (entry_ptr)->is_pinned ) ) { \
\
/* modified LRU specific code */ \
\
/* remove the entry from the LRU list, and re-insert it at the head. \
*/ \
H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
\
/* End modified LRU specific code. */ \
} \
} /* H5C__UPDATE_RP_FOR_MOVE */
if((msg=H5E_create_msg(cls, H5E_MAJOR, "Dataset"))==NULL) if((H5E_DATASET_g
HDFFCLIBAPI intf * size
#define H5C__DLL_PREPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1209
#define H5C__DLL_REMOVE(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1226
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 3134 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_PROTECT

#define H5C__UPDATE_RP_FOR_PROTECT (   cache_ptr,
  entry_ptr,
  fail_val 
)

Definition at line 2990 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_SIZE_CHANGE

#define H5C__UPDATE_RP_FOR_SIZE_CHANGE (   cache_ptr,
  entry_ptr,
  new_size 
)

Definition at line 3258 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_UNPIN

#define H5C__UPDATE_RP_FOR_UNPIN (   cache_ptr,
  entry_ptr,
  fail_val 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (entry_ptr) ); \
HDassert( !((entry_ptr)->is_protected) ); \
HDassert( !((entry_ptr)->is_read_only) ); \
HDassert( ((entry_ptr)->ro_ref_count) == 0 ); \
HDassert( (entry_ptr)->is_pinned); \
HDassert( (entry_ptr)->size > 0 ); \
\
/* Regardless of the replacement policy, remove the entry from the \
* pinned entry list. \
*/ \
H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->pel_head_ptr, \
(cache_ptr)->pel_tail_ptr, (cache_ptr)->pel_len, \
(cache_ptr)->pel_size, (fail_val)) \
HDassert( (cache_ptr)->pel_len >= 0 ); \
\
/* modified LRU specific code */ \
\
/* insert the entry at the head of the LRU list. */ \
H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, \
(cache_ptr)->LRU_tail_ptr, \
(cache_ptr)->LRU_list_len, \
(cache_ptr)->LRU_list_size, (fail_val)) \
\
/* End modified LRU specific code. */ \
\
} /* H5C__UPDATE_RP_FOR_UNPIN */
HDFFCLIBAPI intf * size
#define H5C__DLL_PREPEND(entry_ptr, head_ptr, tail_ptr, len, Size, fail_val)
Definition: H5Cpkg.h:1209
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 3383 of file H5Cpkg.h.

◆ H5C__UPDATE_RP_FOR_UNPROTECT

#define H5C__UPDATE_RP_FOR_UNPROTECT (   cache_ptr,
  entry_ptr,
  fail_val 
)

Definition at line 3523 of file H5Cpkg.h.

◆ H5C__UPDATE_SLIST_FOR_SIZE_CHANGE

#define H5C__UPDATE_SLIST_FOR_SIZE_CHANGE (   cache_ptr,
  old_size,
  new_size 
)
Value:
{ \
HDassert( (cache_ptr) ); \
HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC ); \
HDassert( (old_size) > 0 ); \
HDassert( (new_size) > 0 ); \
HDassert( (old_size) <= (cache_ptr)->slist_size ); \
HDassert( (cache_ptr)->slist_len > 0 ); \
HDassert( ((cache_ptr)->slist_len > 1) || \
( (cache_ptr)->slist_size == (old_size) ) ); \
\
(cache_ptr)->slist_size -= (old_size); \
(cache_ptr)->slist_size += (new_size); \
\
HDassert( (new_size) <= (cache_ptr)->slist_size ); \
HDassert( ( (cache_ptr)->slist_len > 1 ) || \
( (cache_ptr)->slist_size == (new_size) ) ); \
} /* H5C__REMOVE_ENTRY_FROM_SLIST */
#define H5C__H5C_T_MAGIC
Definition: H5Cpkg.h:841

Definition at line 2324 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_CLEAR

#define H5C__UPDATE_STATS_FOR_CLEAR (   cache_ptr,
  entry_ptr 
)

Definition at line 1713 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_DIRTY_PIN

#define H5C__UPDATE_STATS_FOR_DIRTY_PIN (   cache_ptr,
  entry_ptr 
)

Definition at line 1705 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_ENTRY_SIZE_CHANGE

#define H5C__UPDATE_STATS_FOR_ENTRY_SIZE_CHANGE (   cache_ptr,
  entry_ptr,
  new_size 
)

Definition at line 1708 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_EVICTION

#define H5C__UPDATE_STATS_FOR_EVICTION (   cache_ptr,
  entry_ptr 
)

Definition at line 1715 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_FLUSH

#define H5C__UPDATE_STATS_FOR_FLUSH (   cache_ptr,
  entry_ptr 
)

Definition at line 1714 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_HT_DELETION

#define H5C__UPDATE_STATS_FOR_HT_DELETION (   cache_ptr)

Definition at line 1710 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_HT_INSERTION

#define H5C__UPDATE_STATS_FOR_HT_INSERTION (   cache_ptr)

Definition at line 1709 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_HT_SEARCH

#define H5C__UPDATE_STATS_FOR_HT_SEARCH (   cache_ptr,
  success,
  depth 
)

Definition at line 1711 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_INSERTION

#define H5C__UPDATE_STATS_FOR_INSERTION (   cache_ptr,
  entry_ptr 
)

Definition at line 1712 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_MOVE

#define H5C__UPDATE_STATS_FOR_MOVE (   cache_ptr,
  entry_ptr 
)

Definition at line 1707 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_PIN

#define H5C__UPDATE_STATS_FOR_PIN (   cache_ptr,
  entry_ptr 
)

Definition at line 1717 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_PROTECT

#define H5C__UPDATE_STATS_FOR_PROTECT (   cache_ptr,
  entry_ptr,
  hit 
)

Definition at line 1716 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_UNPIN

#define H5C__UPDATE_STATS_FOR_UNPIN (   cache_ptr,
  entry_ptr 
)

Definition at line 1718 of file H5Cpkg.h.

◆ H5C__UPDATE_STATS_FOR_UNPROTECT

#define H5C__UPDATE_STATS_FOR_UNPROTECT (   cache_ptr)

Definition at line 1706 of file H5Cpkg.h.


MISR Toolkit - Copyright © 2005 - 2020 Jet Propulsion Laboratory
Generated on Fri Jun 19 2020 22:49:53