[PATCH] Adding APA terms to glossary

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jun 19 11:16:26 UTC 2020


Hello Richi,

thanks for the update, we are getting closer to the final version.

On 19/06/2020 11:49, Richi Dubey wrote:
> ---
>   c-user/glossary.rst | 31 +++++++++++++++++++++++++++++++
>   1 file changed, 31 insertions(+)
>
> diff --git a/c-user/glossary.rst b/c-user/glossary.rst
> index 86350a8..691ba52 100644
> --- a/c-user/glossary.rst
> +++ b/c-user/glossary.rst
> @@ -1,5 +1,6 @@
>   .. SPDX-License-Identifier: CC-BY-SA-4.0
>   
> +.. Copyright (C) 2020 Richi Dubey (richidubey at gmail.com)
>   .. Copyright (C) 2017, 2019 embedded brains GmbH (http://www.embedded-brains.de)
>   .. Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR)
>   
> @@ -16,6 +17,13 @@ Glossary
>           A term used to describe an object which has been created by an
>           application.
>   
> +    APA
> +        This term is an acronym for Arbitrary Processor Affinity.
> +        APA schedulers allow a thread to have an arbitrary affinity to
> +        a processor set, rather than a restricted mapping to only one
> +        processor of the set or the ability to run on all processors of
> +        the set. It has two variants, :term:`Weak APA` and :term:`Strong APA`
Looks good, except the missing dot to end the last sentence. Please try 
the vim "gq" to format the text.
> +
>       aperiodic task
>           A task which must execute only at irregular intervals and has only a soft
>           deadline.
> @@ -777,6 +785,19 @@ Glossary
>           :term:`return value` to indicate a successful operation or error
>           conditions.
>   
> +    Strong APA
> +        Strong APA is a specialization of :term:`APA`.
> +        Whenever a :term:`thread` becomes ready for execution, schedulers which
> +        implement strong APA recursively search for a processor in the thread's
> +        affinity set, followed by the processors in the affinity set of threads
> +        that are assigned the processor present in the ready thread's affinity set.
> +        This is done to find a thread to processor mapping that does not violate the
> +        priority ordering and to provide a schedule with a higher total priority of
Sorry for being pedantic, but please keep in mind that RTEMS users 
interested in this stuff may not have read many scheduler papers. They 
may ask what "a schedule" is.
> +        the threads scheduled.
> +        Similar analysis is done when a thread finishes its execution.
"finishes its execution" -> "blocks".
> +
> +        See also :cite:`Cerqueira:2014:LPA`.
> +
>       suspend
>           A term used to describe a task that is not competing for the CPU because it
>           has had a ``rtems_task_suspend`` directive.
> @@ -905,6 +926,16 @@ Glossary
>           Message queues, regions, and semaphores have a wait queue associated with
>           them.
>   
> +    Weak APA
> +        Weak APA is a specialization of :term:`APA`. This refers to Linux's push and
> +        pull implementation of APA model. On the arrival of a thread,
Please avoid this "arrival", use a phrase like "Whenever a 
:term:`thread` becomes ready for execution" like above.
> the thread is
> +        scheduled when a processor in its affinity set is idle or a processor in its
> +        affinity set is executing a thread which is at a lower priority.
> +        Unlike :term:`Strong APA`, no thread is migrated from its processor to find
> +        a thread to processor mapping.
> +
> +        See also :cite:`Cerqueira:2014:LPA`.
> +
>       YAML
>           This term is an acronym for `YAML Ain't Markup Language <https://yaml.org/>`_.
>   


More information about the devel mailing list