diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-04-01 09:02:33 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-04-02 09:46:27 +0200 |
commit | c95e3e31141374701e9f32abef0a5b7dedc42960 (patch) | |
tree | 2c3fcb12d087ab1020815354ef7f70101afb39cb /c-user/config/scheduler-general.rst | |
parent | c-user: Clarify config options use (diff) | |
download | rtems-docs-c95e3e31141374701e9f32abef0a5b7dedc42960.tar.bz2 |
c-user: Move CONFIGURE_MAXIMUM_PRIORITY
Move this option to the scheduler configuration options.
Update #3836.
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: |