[PATCH] APA definitions

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Jun 18 17:12:40 UTC 2020


On 17/06/2020 14:13, Richi Dubey wrote:

> ---
>   c-user/glossary.rst | 29 +++++++++++++++++++++++++++++
>   1 file changed, 29 insertions(+)
>
> diff --git a/c-user/glossary.rst b/c-user/glossary.rst
> index 86350a8..1d95f26 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.
> +        In this model,
Model of what?
> a thread is allowed to have an arbitrary affinity to
> +        the processor set, rather than a global mapping from one thread to all

Maybe "a processor set"?

I would say: rather than a restricted mapping to only one processor of 
the set or the ability to run on all processors of the set.

> +        processors or one thread to one processor.
> +        It has two variants, :term:`Weak APA` and :term:`Strong APA`.
> +
>       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`.
> +        This variant of APA refers to a system model in which whenever a
Is it really a system model?
> +        :term:`thread` becomes ready for execution, recursively the processor
> +        in the thread's affinity set is checked, followed by the processor 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 provide a schedule
> +        with a higher total priority of the threads scheduled.
> +        Similar analysis is done when a thread finishes its execution.
Since you learn vim currently, maybe you can try to visually select this 
paragraph and then type "qa".
> +
> +    	:cite:`Cerqueira:2014:LPA`
Please use a sentence, for example "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,14 @@ 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 pull push implementation of APA model.
push/pull or "push and pull"
> +        A ready thread is scheduled when a processor in its affinity set is idle
> +        or is executing a thread which is at a lower priority.
Maybe mention that no threads are forced to migrate to find a processor.
> +
> +        :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