summaryrefslogtreecommitdiffstats
path: root/c-user/config/scheduler-general.rst
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-04-01 09:02:33 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-04-02 09:46:27 +0200
commitc95e3e31141374701e9f32abef0a5b7dedc42960 (patch)
tree2c3fcb12d087ab1020815354ef7f70101afb39cb /c-user/config/scheduler-general.rst
parentc-user: Clarify config options use (diff)
downloadrtems-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.rst58
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: