diff options
Diffstat (limited to 'c-user/config/scheduler-general.rst')
-rw-r--r-- | c-user/config/scheduler-general.rst | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/c-user/config/scheduler-general.rst b/c-user/config/scheduler-general.rst index 0436100..438e9a3 100644 --- a/c-user/config/scheduler-general.rst +++ b/c-user/config/scheduler-general.rst @@ -65,6 +65,64 @@ NOTES: This configuration option is only evaluated if the configuration option :ref:`CONFIGURE_SCHEDULER_CBS` is defined. +.. index:: CONFIGURE_MAXIMUM_PRIORITY +.. index:: maximum priority +.. index:: number of priority levels + +.. _CONFIGURE_MAXIMUM_PRIORITY: + +CONFIGURE_MAXIMUM_PRIORITY +-------------------------- + +CONSTANT: + ``CONFIGURE_MAXIMUM_PRIORITY`` + +OPTION TYPE: + This configuration option is an integer define. + +DEFAULT VALUE: + The default value is 255. + +VALUE CONSTRAINTS: + The value of this configuration option shall be + an element of {3, 7, 31, 63, 127, 255}. + +DESCRIPTION: + For the following schedulers + + * :ref:`SchedulerPriority`, which is the default in uniprocessor + configurations and can be configured through the + :ref:`CONFIGURE_SCHEDULER_PRIORITY` configuration option, + + * :ref:`SchedulerSMPPriority` which can be configured through the + :ref:`CONFIGURE_SCHEDULER_PRIORITY_SMP` configuration option, and + + * :ref:`SchedulerSMPPriorityAffinity` which can be configured through the + :ref:`CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP` configuration option + + this configuration option specifies the maximum numeric priority of any task + for these schedulers and one less that the number of priority levels for + these schedulers. For all other schedulers provided by RTEMS, this + configuration option has no effect. + +NOTES: + The numerically greatest priority is the logically lowest priority in the + system and will thus be used by the IDLE task. + + Priority zero is reserved for internal use by RTEMS and is not available to + applications. + + Reducing the number of priorities through this configuration option reduces + the amount of memory allocated by the schedulers listed above. These + schedulers use a chain control structure per priority and this structure + consists of three pointers. On a 32-bit architecture, the allocated memory + is 12 bytes * (``CONFIGURE_MAXIMUM_PRIORITY`` + 1), e.g. 3072 bytes for 256 + priority levels (default), 48 bytes for 4 priority levels + (``CONFIGURE_MAXIMUM_PRIORITY == 3``). + + The default value is 255, because RTEMS shall support 256 priority levels to + be compliant with various standards. These priorities range from 0 to 255. + .. index:: CONFIGURE_SCHEDULER_ASSIGNMENTS .. _CONFIGURE_SCHEDULER_ASSIGNMENTS: |