summaryrefslogtreecommitdiffstats
path: root/c-user/scheduling_concepts.rst
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-12 08:28:06 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-07-12 08:28:06 +0200
commita31dbcba2a6f377c49ebb2fcc39e8672a7589696 (patch)
tree82ac33d512abb4195b3dde96c64f26fd8c7dc0ec /c-user/scheduling_concepts.rst
parentc-user: Update scheduler/task chapter (diff)
downloadrtems-docs-a31dbcba2a6f377c49ebb2fcc39e8672a7589696.tar.bz2
c-user: Document new scheduler ident routines
Close #3069. Close #3070.
Diffstat (limited to 'c-user/scheduling_concepts.rst')
-rw-r--r--c-user/scheduling_concepts.rst83
1 files changed, 83 insertions, 0 deletions
diff --git a/c-user/scheduling_concepts.rst b/c-user/scheduling_concepts.rst
index bd9b6b3..d6a57c4 100644
--- a/c-user/scheduling_concepts.rst
+++ b/c-user/scheduling_concepts.rst
@@ -29,6 +29,10 @@ The directives provided by the scheduler manager are:
- rtems_scheduler_ident_ - Get ID of a scheduler
+- rtems_scheduler_ident_by_processor_ - Get ID of a scheduler by processor
+
+- rtems_scheduler_ident_by_processor_set_ - Get ID of a scheduler by processor set
+
- rtems_scheduler_get_processor_set_ - Get processor set of a scheduler
- rtems_scheduler_add_processor_ - Add processor to a scheduler
@@ -543,6 +547,85 @@ NOTES:
\clearpage
+.. _rtems_scheduler_ident_by_processor:
+
+SCHEDULER_IDENT_BY_PROCESSOR - Get ID of a scheduler by processor
+-----------------------------------------------------------------
+
+CALLING SEQUENCE:
+ .. code-block:: c
+
+ rtems_status_code rtems_scheduler_ident_by_processor(
+ uint32_t cpu_index,
+ rtems_id *id
+ );
+
+DIRECTIVE STATUS CODES:
+ .. list-table::
+ :class: rtems-table
+
+ * - ``RTEMS_SUCCESSFUL``
+ - Successful operation.
+ * - ``RTEMS_INVALID_ADDRESS``
+ - The ``id`` parameter is ``NULL``.
+ * - ``RTEMS_INVALID_NAME``
+ - Invalid processor index.
+ * - ``RTEMS_INCORRECT_STATE``
+ - The processor index is valid, however, this processor is not owned by
+ a scheduler.
+
+DESCRIPTION:
+ Identifies a scheduler by a processor.
+
+NOTES:
+ None.
+
+.. raw:: latex
+
+ \clearpage
+
+.. _rtems_scheduler_ident_by_processor_set:
+
+SCHEDULER_IDENT_BY_PROCESSOR_SET - Get ID of a scheduler by processor set
+-------------------------------------------------------------------------
+
+CALLING SEQUENCE:
+ .. code-block:: c
+
+ rtems_status_code rtems_scheduler_ident_by_processor_set(
+ size_t cpusetsize,
+ const cpu_set_t *cpuset,
+ rtems_id *id
+ );
+
+DIRECTIVE STATUS CODES:
+ .. list-table::
+ :class: rtems-table
+
+ * - ``RTEMS_SUCCESSFUL``
+ - Successful operation.
+ * - ``RTEMS_INVALID_ADDRESS``
+ - The ``id`` parameter is ``NULL``.
+ * - ``RTEMS_INVALID_SIZE``
+ - Invalid processor set size.
+ * - ``RTEMS_INVALID_NAME``
+ - The processor set contains no online processor.
+ * - ``RTEMS_INCORRECT_STATE``
+ - The processor set is valid, however, the highest numbered online
+ processor in the specified processor set is not owned by a scheduler.
+
+DESCRIPTION:
+ Identifies a scheduler by a processor set. The scheduler is selected
+ according to the highest numbered online processor in the specified
+ processor set.
+
+NOTES:
+ None.
+
+.. raw:: latex
+
+ \clearpage
+
.. _rtems_scheduler_get_processor_set:
SCHEDULER_GET_PROCESSOR_SET - Get processor set of a scheduler