summaryrefslogtreecommitdiffstats
path: root/src/H5Dpkg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Dpkg.h')
-rw-r--r--src/H5Dpkg.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h
index dc842e8..363ef1d 100644
--- a/src/H5Dpkg.h
+++ b/src/H5Dpkg.h
@@ -256,6 +256,13 @@ typedef struct H5D_piece_info_t {
size_t buf_off; /* Buffer offset for in-place type conversion */
bool filtered_dset; /* Whether the dataset this chunk is in has filters applied */
struct H5D_dset_io_info_t *dset_info; /* Pointer to dset_info */
+ bool entire_chunk; /* Whether whole chunk is selected */
+ bool in_cache;
+ bool skip_chk_to_mds;
+ void *buf;
+ unsigned idx_hint; /* Index of chunk in cache, if present */
+ H5F_block_t chunk_block; /* Offset/length of chunk in file */
+ hsize_t chunk_idx; /* Chunk index for EA, FA indexing */
} H5D_piece_info_t;
/* I/O info for a single dataset */
@@ -273,6 +280,15 @@ typedef struct H5D_dset_io_info_t {
H5S_t *file_space; /* Pointer to the file dataspace */
H5S_t *mem_space; /* Pointer to the memory dataspace */
+ size_t num_sel_cache_chks; /* Number of pieces found in cache */
+ size_t num_unsel_cache_chks; /* Number of pieces NOT found in cache */
+ size_t num_chks_to_load; /* # of chunks not found in cache that needs to be loaded */
+ size_t num_ents_to_evict; /* # of non selected cache entries to be evicted */
+ size_t free_cache_slots; /* # of free slots in the cache */
+ size_t max_cache_chunks; /* max # of chunks in the cache */
+ H5SL_t *chunks_to_load; /* Skip list containing information for chunks to load to cache */
+ H5SL_t *entries_to_evict; /* Skip list containing information for entries to evict from cache */
+
union {
struct H5D_chunk_map_t *chunk_map; /* Chunk specific I/O info */
H5D_piece_info_t *contig_piece_info; /* Piece info for contiguous dataset */
@@ -324,6 +340,7 @@ typedef struct H5D_io_info_t {
H5D_mpio_actual_io_mode_t actual_io_mode; /* Actual type of collective or independent I/O */
#endif /* H5_HAVE_PARALLEL */
unsigned no_selection_io_cause; /* "No selection I/O cause" flags */
+ size_t full_io_chks_to_mds; /* # of chunks to add into MDS selection I/O op */
} H5D_io_info_t;
/* Created to pass both at once for callback func */