c-user: Move "Block Device Cache Configuration"

Update #3836.
This commit is contained in:
Sebastian Huber 2020-03-09 08:52:24 +01:00
parent c0a70dba61
commit 1af97adca2
2 changed files with 339 additions and 335 deletions

338
c-user/config/bdbuf.rst Normal file
View File

@ -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.

View File

@ -20,341 +20,7 @@ Configuring a System
task-stack-alloc task-stack-alloc
msg-queue-buffer msg-queue-buffer
filesystem filesystem
bdbuf
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.
BSP Related Configuration Options BSP Related Configuration Options
================================= =================================