summaryrefslogtreecommitdiffstats
path: root/c-user/scheduling_concepts.rst
diff options
context:
space:
mode:
Diffstat (limited to 'c-user/scheduling_concepts.rst')
-rw-r--r--c-user/scheduling_concepts.rst20
1 files changed, 18 insertions, 2 deletions
diff --git a/c-user/scheduling_concepts.rst b/c-user/scheduling_concepts.rst
index ff47e0a..5664d94 100644
--- a/c-user/scheduling_concepts.rst
+++ b/c-user/scheduling_concepts.rst
@@ -122,6 +122,8 @@ Uniprocessor Schedulers
All uniprocessor schedulers included in RTEMS are priority based. The
processor is allocated to the highest priority task allowed to run.
+.. _SchedulerPriority:
+
Deterministic Priority Scheduler
--------------------------------
@@ -138,6 +140,8 @@ system configured to support 256 priority levels.
This scheduler is only aware of a single core.
+.. _SchedulerPrioritySimple:
+
Simple Priority Scheduler
-------------------------
@@ -156,6 +160,8 @@ This scheduler is only aware of a single core.
.. index:: earliest deadline first scheduling
+.. _SchedulerEDF:
+
Earliest Deadline First Scheduler
---------------------------------
@@ -189,6 +195,8 @@ deadline. Moreover, the ``rtems_rate_monotonic_cancel`` and
.. index:: constant bandwidth server scheduling
+.. _SchedulerCBS:
+
Constant Bandwidth Server Scheduling (CBS)
------------------------------------------
@@ -224,12 +232,14 @@ All SMP schedulers included in RTEMS are priority based. The processors
managed by a scheduler instance are allocated to the highest priority tasks
allowed to run.
+.. _SchedulerSMPEDF:
+
Earliest Deadline First SMP Scheduler
-------------------------------------
A job-level fixed-priority scheduler using the Earliest Deadline First (EDF)
method. By convention, the maximum priority level is
-:math:`min(INT\_MAX, 2^{63} - 1)` for background tasks. The tasks with an
+:math:`min(INT\_MAX, 2^{62} - 1)` for background tasks. The tasks with an
active deadline have a higher priority than the background tasks. This
scheduler supports task processor affinities of one-to-one and one-to-all, e.g.
a task can execute on exactly one processor or all processors managed by the
@@ -239,9 +249,11 @@ must contain all online processors to select the one-to-all affinity. This is
to avoid pathological cases if processors are added/removed to/from the
scheduler instance at run-time. In case the processor affinity set contains
not all online processors, then a one-to-one affinity will be used selecting
-the processor with the largest index within the set of processores currently
+the processor with the largest index within the set of processors currently
owned by the scheduler instance.
+.. _SchedulerSMPPriority:
+
Deterministic Priority SMP Scheduler
------------------------------------
@@ -250,6 +262,8 @@ priority level for the ready tasks. The maximum priority level is
configurable. By default, the maximum priority level is 255 (256 priority
levels).
+.. _SchedulerSMPPrioritySimple:
+
Simple Priority SMP Scheduler
-----------------------------
@@ -257,6 +271,8 @@ A fixed-priority scheduler which uses a sorted chain for the ready tasks. By
convention, the maximum priority level is 255. The implementation limit is
actually :math:`2^{64} - 1`.
+.. _SchedulerSMPPriorityAffinity:
+
Aribitary Processor Affinity Priority SMP Scheduler
---------------------------------------------------