Sets the maximum size for the page buffer and the minimum percentage for metadata and raw data pages
Procedure:
H5P_SET_PAGE_BUFFER_SIZE ( fapl_id, buf_size, min_meta_perc, min_raw_perc )
Signature:
herr_t H5Pset_page_buffer_size(
hid_t fapl_id,
size_t buf_size,
unsigned min_meta_perc,
unsigned min_raw_perc )
Parameters:
hid_t
fapl_id | IN: File access property list identifier |
size_t
buf_size | IN: Maximum size, in bytes, of the page buffer |
unsigned
min_meta_perc | IN: Minimum metadata percentage to keep in the page buffer before allowing pages containing metadata to be evicted (Default is 0) |
unsigned
min_raw_perc | IN: Minimum raw data percentage to keep in the page buffer before allowing pages containing raw data to be evicted (Default is 0) |
Description:
H5P_SET_PAGE_BUFFER_SIZE sets buf_size
, the maximum size in bytes of the page buffer. The default value is zero, meaning that page buffering is disabled. When a non-zero page buffer size is set, the library will enable page buffering if that size is larger or equal than a single page size if a paged file space strategy is enabled using the functions H5P_SET_FILE_SPACE_STRATEGY and H5P_SET_FILE_SPACE_PAGE_SIZE.
The page buffer layer captures all I/O requests before they are issued to the VFD and "caches" them in fixed sized pages. Once the total number of pages exceeds the page buffer size, the library evicts pages from the page buffer by writing them to the VFD. At file close, the page buffer is flushed writing all the pages to the file.
If a non-zero page buffer size is set, and the file space strategy is not set to paged or the page size for the file space strategy is larger than the page buffer size, the subsequent call to H5F_CREATE or H5F_OPEN using the fapl_id will fail.
The function also allows setting the minimum percentage of pages for metadata and raw data to prevent a certain type of data to evict hot data of the other type.
Returns:
Returns a non-negative value if successful. Otherwise returns a negative value.
Example:
History:
Release | Change |
---|
1.10.1 | C function introduced with this release. |
--- Last Modified: July 23, 2019 | 08:16 AM