[PATCH v2] c-user: Define lower and higher priority

Gedare Bloom gedare at rtems.org
Wed Sep 15 15:22:31 UTC 2021


On Tue, Sep 14, 2021 at 10:21 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> ---
>  c-user/glossary.rst | 37 ++++++++++++++++++++++++++++++++-----
>  1 file changed, 32 insertions(+), 5 deletions(-)
>
> diff --git a/c-user/glossary.rst b/c-user/glossary.rst
> index 16a8b8d..94bf773 100644
> --- a/c-user/glossary.rst
> +++ b/c-user/glossary.rst
> @@ -398,6 +398,10 @@ Glossary
>      heterogeneous
>          A multiprocessor computer system composed of dissimilar processors.
>
> +    higher priority
> +        A :term:`task` ``H`` has a higher :term:`priority` than a task ``L``, if
> +        task ``H`` is more important than task ``L``.
> +
>      home scheduler
>          The home scheduler of a :term:`task` is a :term:`scheduler` which is an
>          :term:`eligible scheduler` and which is assigned to the task during its
> @@ -498,6 +502,10 @@ Glossary
>          A multiprocessor configuration where shared memory is not used for
>          communication.
>
> +    lower priority
> +        A :term:`task` ``L`` has a lower :term:`priority` than a task ``H``, if
> +        task ``L`` is less important than task ``H``.
> +
>      major number
>          The index of a device driver in the Device Driver Table.
>
> @@ -664,8 +672,22 @@ Glossary
>
>      priority
>          The priority is a mechanism used to represent the relative importance of an
> -        element in a set of items.  RTEMS uses :term:`task priorities <task priority>` to determine
> -        which :term:`task` should execute.
> +        element in a set of items.
> +
> +        For example, :term:`RTEMS` uses :term:`task priorities <task priority>` to determine which
> +        :term:`task` should execute on a processor.  In RTEMS, priorities are
> +        represented by non-negative integers.
> +
> +        For the Classic :term:`API`, if a numerical priority value ``A`` is greater
> +        than a numerical priority value ``B``, then ``A`` expresses a
> +        :term:`higher priority` than ``B``.  If a numerical priority value ``C`` is
> +        less than a numerical priority value ``D``, then ``C`` expresses a
> +        :term:`lower priority` than ``D``.
> +
> +        For the :term:`POSIX` API, if a numerical priority value ``R`` is less than
> +        a numerical priority value ``S``, then ``R`` expresses a lower priority than
> +        ``S``.  If a numerical priority value ``T`` is greater than a numerical
> +        priority value ``U``, then ``T`` expresses a higher priority than ``U``.
>

These are backwards. Classic priorities with numerically greater
values indicate lower priorities. POSIX priorities with numerically
higher values express higher priorities.

>      priority boosting
>          A simple approach to extend the priority inheritance protocol for
> @@ -999,13 +1021,18 @@ Glossary
>          and resumes execution on another processor.
>
>      task priority
> -        A task priority of a :term:`task` determines its importance relative to
> -        other tasks.  The scheduler use task priorities to determine which
> -        :term:`ready task` gets a processor allocated, see :term:`scheduled task`.  The
> +        A task :term:`priority` of a :term:`task` determines its importance
> +        relative to other tasks.
> +
> +        The scheduler use task priorities to determine which :term:`ready task` gets
> +        a processor allocated, see :term:`scheduled task`.  The
>          :term:`eligible priorities <eligible priority>` of a task define the position of the task in a
>          :term:`wait queue` which uses the priority discipline.  Each task has at
>          least the :term:`real priority`.
>
> +        Task priorities are used in :term:`wait queues <wait queue>` which use the priority
> +        discipline to determine the dequeueing order of tasks.
> +
>      task processor affinity
>          The set of processors on which a task is allowed to execute.
>
> --
> 2.31.1
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list