From 690b7f9e35f5a2c7c176feef9b19ac5dbc05b2e4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 7 Mar 2018 14:10:50 +0100 Subject: c-user: Sort scheduler configuration options --- c-user/configuring_a_system.rst | 192 ++++++++++++++++++++-------------------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/c-user/configuring_a_system.rst b/c-user/configuring_a_system.rst index a4df0ae..6ea025a 100644 --- a/c-user/configuring_a_system.rst +++ b/c-user/configuring_a_system.rst @@ -3306,47 +3306,15 @@ The pluggable scheduler interface also enables the user to provide their own scheduling algorithm. If you choose to do this, you must define multiple configuration macros. -.. index:: CONFIGURE_SCHEDULER_PRIORITY - -.. _CONFIGURE_SCHEDULER_PRIORITY: - -CONFIGURE_SCHEDULER_PRIORITY ----------------------------- - -CONSTANT: - ``CONFIGURE_SCHEDULER_PRIORITY`` - -DATA TYPE: - Boolean feature macro. - -RANGE: - Defined or undefined. - -DEFAULT VALUE: - This is defined by default. This is the default scheduler and specifying - this configuration parameter is redundant. - -DESCRIPTION: - The Deterministic Priority Scheduler is the default scheduler in RTEMS for - uni-processor applications and is designed for predictable performance - under the highest loads. It can block or unblock a thread in a constant - amount of time. This scheduler requires a variable amount of memory based - upon the number of priorities configured in the system. - -NOTES: - This scheduler may be explicitly selected by defining - ``CONFIGURE_SCHEDULER_PRIORITY`` although this is equivalent to the default - behavior. - -.. index:: CONFIGURE_SCHEDULER_SIMPLE +.. index:: CONFIGURE_SCHEDULER_CBS -.. _CONFIGURE_SCHEDULER_SIMPLE: +.. _CONFIGURE_SCHEDULER_CBS: -CONFIGURE_SCHEDULER_SIMPLE --------------------------- +CONFIGURE_SCHEDULER_CBS +----------------------- CONSTANT: - ``CONFIGURE_SCHEDULER_SIMPLE`` + ``CONFIGURE_SCHEDULER_CBS`` DATA TYPE: Boolean feature macro. @@ -3358,19 +3326,17 @@ DEFAULT VALUE: This is not defined by default. DESCRIPTION: - When defined, the Simple Priority Scheduler is used at the thread - scheduling algorithm. This is an alternative scheduler in RTEMS. It is - designed to provide the same task scheduling behaviour as the Deterministic - Priority Scheduler while being simpler in implementation and uses less - memory for data management. It maintains a single sorted list of all ready - threads. Thus blocking or unblocking a thread is not a constant time - operation with this scheduler. + The Constant Bandwidth Server Scheduler (CBS) is an alternative scheduler + in RTEMS for uni-processor applications. The CBS is a budget aware + extension of EDF scheduler. The goal of this scheduler is to ensure + temporal isolation of tasks. The CBS is equipped with a set of additional + rules and provides with an extensive API. This scheduler may be explicitly selected by defining - ``CONFIGURE_SCHEDULER_SIMPLE``. + ``CONFIGURE_SCHEDULER_CBS``. NOTES: - This scheduler is appropriate for use in small systems where RAM is limited. + None. .. index:: CONFIGURE_SCHEDULER_EDF @@ -3434,15 +3400,50 @@ DESCRIPTION: NOTES: None. -.. index:: CONFIGURE_SCHEDULER_CBS +.. index:: CONFIGURE_SCHEDULER_NAME -.. _CONFIGURE_SCHEDULER_CBS: +.. _CONFIGURE_SCHEDULER_NAME: -CONFIGURE_SCHEDULER_CBS ------------------------ +CONFIGURE_SCHEDULER_NAME +------------------------ CONSTANT: - ``CONFIGURE_SCHEDULER_CBS`` + ``CONFIGURE_SCHEDULER_NAME`` + +DATA TYPE: + RTEMS Name (``rtems_name``). + +RANGE: + Any value. + +DEFAULT VALUE: + The default name is + + - ``"MEDF"`` for the :ref:`EDF SMP Scheduler `, + - ``"MPA "`` for the :ref:`Aribitary Processor Affinity Priority SMP Scheduler `, + - ``"MPD "`` for the :ref:`Deterministic Priority SMP Scheduler `, + - ``"MPS "`` for the :ref:`Simple Priority SMP Scheduler `, + - ``"UCBS"`` for the :ref:`Uniprocessor CBS Scheduler `, + - ``"UEDF"`` for the :ref:`Uniprocessor EDF Scheduler `, + - ``"UPD "`` for the :ref:`Uniprocessor Deterministic Priority Scheduler `, and + - ``"UPS "`` for the :ref:`Uniprocessor Simple Priority Scheduler `. + +DESCRIPTION: + Schedulers can be identified via ``rtems_scheduler_ident``. The name of + the scheduler is determined by the configuration. + +NOTES: + None. + +.. index:: CONFIGURE_SCHEDULER_PRIORITY + +.. _CONFIGURE_SCHEDULER_PRIORITY: + +CONFIGURE_SCHEDULER_PRIORITY +---------------------------- + +CONSTANT: + ``CONFIGURE_SCHEDULER_PRIORITY`` DATA TYPE: Boolean feature macro. @@ -3451,20 +3452,20 @@ RANGE: Defined or undefined. DEFAULT VALUE: - This is not defined by default. + This is defined by default. This is the default scheduler and specifying + this configuration parameter is redundant. DESCRIPTION: - The Constant Bandwidth Server Scheduler (CBS) is an alternative scheduler - in RTEMS for uni-processor applications. The CBS is a budget aware - extension of EDF scheduler. The goal of this scheduler is to ensure - temporal isolation of tasks. The CBS is equipped with a set of additional - rules and provides with an extensive API. - - This scheduler may be explicitly selected by defining - ``CONFIGURE_SCHEDULER_CBS``. + The Deterministic Priority Scheduler is the default scheduler in RTEMS for + uni-processor applications and is designed for predictable performance + under the highest loads. It can block or unblock a thread in a constant + amount of time. This scheduler requires a variable amount of memory based + upon the number of priorities configured in the system. NOTES: - None. + This scheduler may be explicitly selected by defining + ``CONFIGURE_SCHEDULER_PRIORITY`` although this is equivalent to the default + behavior. .. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP @@ -3500,6 +3501,40 @@ NOTES: This scheduler is currently the default in SMP configurations and is only selected when ``CONFIGURE_MAXIMUM_PROCESSORS`` is greater than one. +.. index:: CONFIGURE_SCHEDULER_SIMPLE + +.. _CONFIGURE_SCHEDULER_SIMPLE: + +CONFIGURE_SCHEDULER_SIMPLE +-------------------------- + +CONSTANT: + ``CONFIGURE_SCHEDULER_SIMPLE`` + +DATA TYPE: + Boolean feature macro. + +RANGE: + Defined or undefined. + +DEFAULT VALUE: + This is not defined by default. + +DESCRIPTION: + When defined, the Simple Priority Scheduler is used at the thread + scheduling algorithm. This is an alternative scheduler in RTEMS. It is + designed to provide the same task scheduling behaviour as the Deterministic + Priority Scheduler while being simpler in implementation and uses less + memory for data management. It maintains a single sorted list of all ready + threads. Thus blocking or unblocking a thread is not a constant time + operation with this scheduler. + + This scheduler may be explicitly selected by defining + ``CONFIGURE_SCHEDULER_SIMPLE``. + +NOTES: + This scheduler is appropriate for use in small systems where RAM is limited. + .. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP .. _CONFIGURE_SCHEDULER_SIMPLE_SMP: @@ -3540,41 +3575,6 @@ NOTES: This scheduler is only available when RTEMS is configured with SMP support enabled. -.. index:: CONFIGURE_SCHEDULER_NAME - -.. _CONFIGURE_SCHEDULER_NAME: - -CONFIGURE_SCHEDULER_NAME ------------------------- - -CONSTANT: - ``CONFIGURE_SCHEDULER_NAME`` - -DATA TYPE: - RTEMS Name (``rtems_name``). - -RANGE: - Any value. - -DEFAULT VALUE: - The default name is - - - ``"MEDF"`` for the :ref:`EDF SMP Scheduler `, - - ``"MPA "`` for the :ref:`Aribitary Processor Affinity Priority SMP Scheduler `, - - ``"MPD "`` for the :ref:`Deterministic Priority SMP Scheduler `, - - ``"MPS "`` for the :ref:`Simple Priority SMP Scheduler `, - - ``"UCBS"`` for the :ref:`Uniprocessor CBS Scheduler `, - - ``"UEDF"`` for the :ref:`Uniprocessor EDF Scheduler `, - - ``"UPD "`` for the :ref:`Uniprocessor Deterministic Priority Scheduler `, and - - ``"UPS "`` for the :ref:`Uniprocessor Simple Priority Scheduler `. - -DESCRIPTION: - Schedulers can be identified via ``rtems_scheduler_ident``. The name of - the scheduler is determined by the configuration. - -NOTES: - None. - .. index:: CONFIGURE_SCHEDULER_USER .. _CONFIGURE_SCHEDULER_USER: -- cgit v1.2.3