[PATCH] c-user: Document CONFIGURE_SCHEDULER_TABLE_ENTRIES
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Feb 22 14:11:16 UTC 2022
Update #4524.
---
c-user/config/scheduler-general.rst | 93 ++++++++++++++++++++++++++++-
1 file changed, 90 insertions(+), 3 deletions(-)
diff --git a/c-user/config/scheduler-general.rst b/c-user/config/scheduler-general.rst
index 7c42039..7169a83 100644
--- a/c-user/config/scheduler-general.rst
+++ b/c-user/config/scheduler-general.rst
@@ -1,6 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020, 2022 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 2010 Gedare Bloom
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
@@ -198,7 +198,8 @@ scheduler to processor assignments.
.. rubric:: NOTES:
-This configuration option is only evaluated in SMP configurations.
+Where the system was built with SMP support enabled, this configuration
+option is evaluated, otherwise it is ignored.
This is an advanced configuration option, see
:ref:`ConfigurationSchedulersClustered`.
@@ -210,10 +211,21 @@ The following constraints apply to this configuration option:
* The value of the configuration option shall be a list of the following
macros:
- * ``RTEMS_SCHEDULER_ASSIGN( processor_index, attributes )``
+ * ``RTEMS_SCHEDULER_ASSIGN( scheduler_index, attributes )``
* ``RTEMS_SCHEDULER_ASSIGN_NO_SCHEDULER``
+ The ``scheduler_index`` macro parameter shall be a valid index of the
+ scheduler table defined by the :ref:`CONFIGURE_SCHEDULER_TABLE_ENTRIES`
+ configuration option.
+
+ The ``attributes`` macro parameter shall be set to exactly one of the
+ following constants:
+
+ * ``RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY``
+
+ * ``RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL``
+
* The value of the configuration option shall be a list of exactly
:ref:`CONFIGURE_MAXIMUM_PROCESSORS` elements.
@@ -667,6 +679,81 @@ support enabled.
This scheduler algorithm is not correctly implemented. Do not use it.
+.. Generated from spec:/acfg/if/scheduler-table-entries
+
+.. raw:: latex
+
+ \clearpage
+
+.. index:: CONFIGURE_SCHEDULER_TABLE_ENTRIES
+
+.. _CONFIGURE_SCHEDULER_TABLE_ENTRIES:
+
+CONFIGURE_SCHEDULER_TABLE_ENTRIES
+---------------------------------
+
+.. rubric:: CONSTANT:
+
+``CONFIGURE_SCHEDULER_TABLE_ENTRIES``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an initializer define.
+
+.. rubric:: DEFAULT VALUE:
+
+The default value of this configuration option is the definition of exactly
+one table entry for the configured scheduler.
+
+.. rubric:: DESCRIPTION:
+
+The value of this configuration option is used to initialize the table of
+configured schedulers.
+
+.. rubric:: NOTES:
+
+Schedulers registered in the scheduler table by this configuration option are
+available to the application. The scheduler table entry index defines the
+index of the scheduler.
+
+This is an advanced configuration option, see
+:ref:`ConfigurationSchedulersClustered`.
+
+.. rubric:: CONSTRAINTS:
+
+The following constraints apply to this configuration option:
+
+* The value of the configuration option shall be a list of the following
+ macros:
+
+ * ``RTEMS_SCHEDULER_TABLE_CBS( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_EDF( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_EDF_SMP( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_PRIORITY_AFFINITY_SMP( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_PRIORITY( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_SIMPLE( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_SIMPLE_SMP( name, obj_name )``
+
+ * ``RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name )``
+
+ The ``name`` macro parameter shall be the name associated with the scheduler
+ data structures, see :ref:`ConfigurationSchedulersClustered`.
+
+ The ``obj_name`` macro parameter shall be the scheduler object name. It is
+ recommended to define the scheduler object name through
+ :c:func:`rtems_build_name`.
+
+* Where the system was build with SMP support enabled, the table shall have one
+ or more entries, otherwise it shall have exactly one entry.
+
.. Generated from spec:/acfg/if/scheduler-user
.. raw:: latex
--
2.34.1
More information about the devel
mailing list