summaryrefslogblamecommitdiffstats
path: root/c-user/config/bdbuf.rst
blob: 84b1d33126e77bd49586c6c8e09680751c894a84 (plain) (tree)
1
2
3
4
5
6
7
8
9






                                                                           

                                                                              










                                               

                                                          
 


                                                                                

            

                                                                                

      


                                                                                 
 
                                          
 
                                    
 

                               

         
                                       

          
                                    

      
                                                                            

              
                                    

            
                                                  



         
                                          
 
                                    
 
                               


                               
                                       




                                    
             

              
                                   

            
                                                  



         
                                            
 
                                      
 

                                 

         
                                         

          
                                  




              
                                     

            
                                      





































































































































































































































                                                                             
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)

Block Device Cache Configuration
================================

This section describes configuration options related to the Block Device Cache
(bdbuf).

.. index:: CONFIGURE_APPLICATION_NEEDS_LIBBLOCK

.. _CONFIGURE_APPLICATION_NEEDS_LIBBLOCK:

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.

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