24.15. Block Device Cache Configuration¶
This section describes configuration options related to the Block Device Cache (bdbuf).
24.15.1. CONFIGURE_APPLICATION_NEEDS_LIBBLOCK¶
- CONSTANT:
CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
- OPTION TYPE:
This configuration option is a boolean feature define.
- DEFAULT CONFIGURATION:
If this configuration option is undefined, then the described feature is not enabled.
- DESCRIPTION:
In case this configuration option is defined, then the Block Device Cache is initialized during system initialization.
- NOTES:
Each option of the Block Device Cache (bdbuf) configuration can be explicitly set by the user with the configuration options below. The Block Device Cache is used for example by the RFS and DOSFS filesystems.
24.15.2. CONFIGURE_BDBUF_BUFFER_MAX_SIZE¶
- CONSTANT:
CONFIGURE_BDBUF_BUFFER_MAX_SIZE
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 4096.
- VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following constraints:
It shall be greater than or equal to 0.
It shall be an integral multiple of CONFIGURE_BDBUF_BUFFER_MIN_SIZE.
- DESCRIPTION:
The value of this configuration option defines the maximum size of a buffer in bytes.
- NOTES:
None.
24.15.3. CONFIGURE_BDBUF_BUFFER_MIN_SIZE¶
- CONSTANT:
CONFIGURE_BDBUF_BUFFER_MIN_SIZE
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 512.
- VALUE CONSTRAINTS:
The value of this configuration option shall be greater than or equal to 0 and less than or equal to
UINT32_MAX
.- DESCRIPTION:
The value of this configuration option defines the minimum size of a buffer in bytes.
- NOTES:
None.
24.15.4. CONFIGURE_BDBUF_CACHE_MEMORY_SIZE¶
- CONSTANT:
CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 32768.
- VALUE CONSTRAINTS:
The value of this configuration option shall be greater than or equal to 0 and less than or equal to
SIZE_MAX
.- DESCRIPTION:
The value of this configuration option defines the size of the cache memory in bytes.
- NOTES:
None.
24.15.5. CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS¶
- CONSTANT:
CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 0.
- VALUE CONSTRAINTS:
The value of this configuration option shall be greater than or equal to 0 and less than or equal to
UINT32_MAX
.- DESCRIPTION:
The value of this configuration option defines the maximum blocks per read-ahead request.
- NOTES:
A value of 0 disables the read-ahead task (default). The read-ahead task will issue speculative read transfers if a sequential access pattern is detected. This can improve the performance on some systems.
24.15.6. CONFIGURE_BDBUF_MAX_WRITE_BLOCKS¶
- CONSTANT:
CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 16.
- VALUE CONSTRAINTS:
The value of this configuration option shall be greater than or equal to 0 and less than or equal to
UINT32_MAX
.- DESCRIPTION:
The value of this configuration option defines the maximum blocks per write request.
- NOTES:
None.
24.15.7. CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY¶
- CONSTANT:
CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 15.
- VALUE CONSTRAINTS:
The value of this configuration option shall be a valid Classic API task priority. The set of valid task priorities is scheduler-specific.
- DESCRIPTION:
The value of this configuration option defines the read-ahead task priority.
- NOTES:
None.
24.15.8. CONFIGURE_BDBUF_TASK_STACK_SIZE¶
- CONSTANT:
CONFIGURE_BDBUF_TASK_STACK_SIZE
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is
RTEMS_MINIMUM_STACK_SIZE
.- VALUE CONSTRAINTS:
The value of this configuration option shall satisfy all of the following constraints:
It shall be greater than or equal to CONFIGURE_MINIMUM_TASK_STACK_SIZE.
It shall be less than or equal to a BSP-specific and application-specific value which depends on the size of the memory available to the application.
It shall be small enough so that the task stack space calculation carried out by
<rtems/confdefs.h>
does not overflow an integer of typeuintptr_t
.
- DESCRIPTION:
The value of this configuration option defines the task stack size of the Block Device Cache tasks in bytes.
- NOTES:
None.
24.15.9. CONFIGURE_SWAPOUT_BLOCK_HOLD¶
- CONSTANT:
CONFIGURE_SWAPOUT_BLOCK_HOLD
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 1000.
- VALUE CONSTRAINTS:
The value of this configuration option shall be greater than or equal to 0 and less than or equal to
UINT32_MAX
.- DESCRIPTION:
The value of this configuration option defines the swapout task maximum block hold time in milliseconds.
- NOTES:
None.
24.15.10. CONFIGURE_SWAPOUT_SWAP_PERIOD¶
- CONSTANT:
CONFIGURE_SWAPOUT_SWAP_PERIOD
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 250.
- VALUE CONSTRAINTS:
The value of this configuration option shall be greater than or equal to 0 and less than or equal to
UINT32_MAX
.- DESCRIPTION:
The value of this configuration option defines the swapout task swap period in milliseconds.
- NOTES:
None.
24.15.11. CONFIGURE_SWAPOUT_TASK_PRIORITY¶
- CONSTANT:
CONFIGURE_SWAPOUT_TASK_PRIORITY
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 15.
- VALUE CONSTRAINTS:
The value of this configuration option shall be a valid Classic API task priority. The set of valid task priorities is scheduler-specific.
- DESCRIPTION:
The value of this configuration option defines the swapout task priority.
- NOTES:
None.
24.15.12. CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY¶
- CONSTANT:
CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 15.
- VALUE CONSTRAINTS:
The value of this configuration option shall be a valid Classic API task priority. The set of valid task priorities is scheduler-specific.
- DESCRIPTION:
The value of this configuration option defines the swapout worker task priority.
- NOTES:
None.
24.15.13. CONFIGURE_SWAPOUT_WORKER_TASKS¶
- CONSTANT:
CONFIGURE_SWAPOUT_WORKER_TASKS
- OPTION TYPE:
This configuration option is an integer define.
- DEFAULT VALUE:
The default value is 0.
- VALUE CONSTRAINTS:
The value of this configuration option shall be greater than or equal to 0 and less than or equal to
UINT32_MAX
.- DESCRIPTION:
The value of this configuration option defines the swapout worker task count.
- NOTES:
None.