From 1af97adca298788caa2b5872b4d66a9258e79a5e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 9 Mar 2020 08:52:24 +0100 Subject: c-user: Move "Block Device Cache Configuration" Update #3836. --- c-user/config/bdbuf.rst | 338 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 338 insertions(+) create mode 100644 c-user/config/bdbuf.rst (limited to 'c-user/config/bdbuf.rst') diff --git a/c-user/config/bdbuf.rst b/c-user/config/bdbuf.rst new file mode 100644 index 0000000..011d4ee --- /dev/null +++ b/c-user/config/bdbuf.rst @@ -0,0 +1,338 @@ +.. SPDX-License-Identifier: CC-BY-SA-4.0 + +.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) + +Block Device Cache Configuration +================================ + +This section defines Block Device Cache (bdbuf) related configuration +parameters. + +.. index:: CONFIGURE_APPLICATION_NEEDS_LIBBLOCK + +.. _CONFIGURE_APPLICATION_NEEDS_LIBBLOCK: + +CONFIGURE_APPLICATION_NEEDS_LIBBLOCK +------------------------------------ + +CONSTANT: + ``CONFIGURE_APPLICATION_NEEDS_LIBBLOCK`` + +DATA TYPE: + Boolean feature macro. + +RANGE: + Defined or undefined. + +DEFAULT VALUE: + This is not defined by default. + +DESCRIPTION: + Provides a Block Device Cache configuration. + +NOTES: + Each option of the Block Device Cache 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 file systems. + +.. index:: CONFIGURE_BDBUF_CACHE_MEMORY_SIZE + +.. _CONFIGURE_BDBUF_CACHE_MEMORY_SIZE: + +CONFIGURE_BDBUF_CACHE_MEMORY_SIZE +--------------------------------- + +CONSTANT: + ``CONFIGURE_BDBUF_CACHE_MEMORY_SIZE`` + +DATA TYPE: + Unsigned integer (``size_t``). + +RANGE: + Positive. + +DEFAULT VALUE: + The default value is 32768 bytes. + +DESCRIPTION: + Size of the cache memory in bytes. + +NOTES: + None. + +.. index:: CONFIGURE_BDBUF_BUFFER_MAX_SIZE + +.. _CONFIGURE_BDBUF_BUFFER_MAX_SIZE: + +CONFIGURE_BDBUF_BUFFER_MAX_SIZE +------------------------------- + +CONSTANT: + ``CONFIGURE_BDBUF_BUFFER_MAX_SIZE`` + +DATA TYPE: + Unsigned integer (``uint32_t``). + +RANGE: + It must be positive and an integral multiple of the buffer minimum size. + +DEFAULT VALUE: + The default value is 4096 bytes. + +DESCRIPTION: + Defines the maximum size of a buffer in bytes. + +NOTES: + None. + +.. index:: CONFIGURE_BDBUF_BUFFER_MIN_SIZE + +.. _CONFIGURE_BDBUF_BUFFER_MIN_SIZE: + +CONFIGURE_BDBUF_BUFFER_MIN_SIZE +------------------------------- + +CONSTANT: + ``CONFIGURE_BDBUF_BUFFER_MIN_SIZE`` + +DATA TYPE: + Unsigned integer (``uint32_t``). + +RANGE: + Positive. + +DEFAULT VALUE: + The default value is 512 bytes. + +DESCRIPTION: + Defines the minimum size of a buffer in bytes. + +NOTES: + None. + +.. index:: CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS + +.. _CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS: + +CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS +------------------------------------- + +CONSTANT: + ``CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS`` + +DATA TYPE: + Unsigned integer (``uint32_t``). + +RANGE: + Positive. + +DEFAULT VALUE: + The default value is 0. + +DESCRIPTION: + 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. + +.. index:: CONFIGURE_BDBUF_MAX_WRITE_BLOCKS + +.. _CONFIGURE_BDBUF_MAX_WRITE_BLOCKS: + +CONFIGURE_BDBUF_MAX_WRITE_BLOCKS +-------------------------------- + +CONSTANT: + ``CONFIGURE_BDBUF_MAX_WRITE_BLOCKS`` + +DATA TYPE: + Unsigned integer (``uint32_t``). + +RANGE: + Positive. + +DEFAULT VALUE: + The default value is 16. + +DESCRIPTION: + Defines the maximum blocks per write request. + +NOTES: + None. + +.. index:: CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY + +.. _CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY: + +CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY +---------------------------------------- + +CONSTANT: + ``CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY`` + +DATA TYPE: + Task priority (``rtems_task_priority``). + +RANGE: + Valid task priority. + +DEFAULT VALUE: + The default value is 15. + +DESCRIPTION: + Defines the read-ahead task priority. + +NOTES: + None. + +.. index:: CONFIGURE_BDBUF_TASK_STACK_SIZE + +.. _CONFIGURE_BDBUF_TASK_STACK_SIZE: + +CONFIGURE_BDBUF_TASK_STACK_SIZE +------------------------------- + +CONSTANT: + ``CONFIGURE_BDBUF_TASK_STACK_SIZE`` + +DATA TYPE: + Unsigned integer (``size_t``). + +RANGE: + Zero or positive. + +DEFAULT VALUE: + The default value is RTEMS_MINIMUM_STACK_SIZE. + +DESCRIPTION: + Defines the task stack size of the Block Device Cache tasks in bytes. + +NOTES: + None. + +.. index:: CONFIGURE_SWAPOUT_BLOCK_HOLD + +.. _CONFIGURE_SWAPOUT_BLOCK_HOLD: + +CONFIGURE_SWAPOUT_BLOCK_HOLD +---------------------------- + +CONSTANT: + ``CONFIGURE_SWAPOUT_BLOCK_HOLD`` + +DATA TYPE: + Unsigned integer (``uint32_t``). + +RANGE: + Positive. + +DEFAULT VALUE: + The default value is 1000 milliseconds. + +DESCRIPTION: + Defines the swapout task maximum block hold time in milliseconds. + +NOTES: + None. + +.. index:: CONFIGURE_SWAPOUT_SWAP_PERIOD + +.. _CONFIGURE_SWAPOUT_SWAP_PERIOD: + +CONFIGURE_SWAPOUT_SWAP_PERIOD +----------------------------- + +CONSTANT: + ``CONFIGURE_SWAPOUT_SWAP_PERIOD`` + +DATA TYPE: + Unsigned integer (``uint32_t``). + +RANGE: + Positive. + +DEFAULT VALUE: + The default value is 250 milliseconds. + +DESCRIPTION: + Defines the swapout task swap period in milliseconds. + +NOTES: + None. + +.. index:: CONFIGURE_SWAPOUT_TASK_PRIORITY + +.. _CONFIGURE_SWAPOUT_TASK_PRIORITY: + +CONFIGURE_SWAPOUT_TASK_PRIORITY +------------------------------- + +CONSTANT: + ``CONFIGURE_SWAPOUT_TASK_PRIORITY`` + +DATA TYPE: + Task priority (``rtems_task_priority``). + +RANGE: + Valid task priority. + +DEFAULT VALUE: + The default value is 15. + +DESCRIPTION: + Defines the swapout task priority. + +NOTES: + None. + +.. index:: CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY + +.. _CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY: + +CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY +-------------------------------------- + +CONSTANT: + ``CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY`` + +DATA TYPE: + Task priority (``rtems_task_priority``). + +RANGE: + Valid task priority. + +DEFAULT VALUE: + The default value is 15. + +DESCRIPTION: + Defines the swapout worker task priority. + +NOTES: + None. + +.. index:: CONFIGURE_SWAPOUT_WORKER_TASKS + +.. _CONFIGURE_SWAPOUT_WORKER_TASKS: + +CONFIGURE_SWAPOUT_WORKER_TASKS +------------------------------ + +CONSTANT: + ``CONFIGURE_SWAPOUT_WORKER_TASKS`` + +DATA TYPE: + Unsigned integer (``size_t``). + +RANGE: + Zero or positive. + +DEFAULT VALUE: + The default value is 0. + +DESCRIPTION: + Defines the swapout worker task count. + +NOTES: + None. -- cgit v1.2.3