<div dir="ltr">Hi,<div>Please ignore the first patch as the formatting in it looks a little uneven. Thanks! </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jun 21, 2020 at 2:48 PM Richi Dubey <<a href="mailto:richidubey@gmail.com">richidubey@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">---<br>
c-user/glossary.rst | 34 ++++++++++++++++++++++++++++++++++<br>
1 file changed, 34 insertions(+)<br>
<br>
diff --git a/c-user/glossary.rst b/c-user/glossary.rst<br>
index 86350a8..63a4728 100644<br>
--- a/c-user/glossary.rst<br>
+++ b/c-user/glossary.rst<br>
@@ -1,5 +1,6 @@<br>
.. SPDX-License-Identifier: CC-BY-SA-4.0<br>
<br>
+.. Copyright (C) 2020 Richi Dubey (<a href="mailto:richidubey@gmail.com" target="_blank">richidubey@gmail.com</a>)<br>
.. Copyright (C) 2017, 2019 embedded brains GmbH (<a href="http://www.embedded-brains.de" rel="noreferrer" target="_blank">http://www.embedded-brains.de</a>)<br>
.. Copyright (C) 1988, 1998 On-Line Applications Research Corporation (OAR)<br>
<br>
@@ -16,6 +17,14 @@ Glossary<br>
A term used to describe an object which has been created by an<br>
application.<br>
<br>
+ APA<br>
+ This term is an acronym for Arbitrary Processor Affinity. <br>
+ APA schedulers allow a thread to have an arbitrary affinity to a<br>
+ processor set, rather than a restricted mapping to only one processor<br>
+ of the set or the ability to run on all processors of the set. <br>
+ <br>
+ It has two variants, :term:`Weak APA` and :term:`Strong APA`.<br>
+<br>
aperiodic task<br>
A task which must execute only at irregular intervals and has only a soft<br>
deadline.<br>
@@ -777,6 +786,20 @@ Glossary<br>
:term:`return value` to indicate a successful operation or error<br>
conditions.<br>
<br>
+ Strong APA<br>
+ Strong APA is a specialization of :term:`APA`. <br>
+ Schedulers which implement strong APA recursively search for a<br>
+ processor in the :term:`thread`'s affinity set, whenever a thread<br>
+ becomes ready for execution, followed by the processors in the<br>
+ affinity set of threads that are assigned the processor in the<br>
+ ready thread's affinity set. This is done to find a thread to<br>
+ processor mapping that does not violate the priority ordering and<br>
+ to provide a thread to processor mapping with a higher total<br>
+ priority of the threads allocated a processor.<br>
+ Similar analysis is done when a thread blocks. <br>
+ <br>
+ See also :cite:`Cerqueira:2014:LPA`.<br>
+<br>
suspend<br>
A term used to describe a task that is not competing for the CPU because it<br>
has had a ``rtems_task_suspend`` directive.<br>
@@ -905,6 +928,17 @@ Glossary<br>
Message queues, regions, and semaphores have a wait queue associated with<br>
them.<br>
<br>
+ Weak APA<br>
+ Weak APA is a specialization of :term:`APA`. <br>
+ It refers to Linux's push and pull implementation of APA model.<br>
+ When a :term:`thread` becomes ready for execution, it is<br>
+ allocated a processor if there is an idle processor, or if a<br>
+ processor is executing a lower priority thread in its affinity<br>
+ set. Unlike :term:`Strong APA`, no thread is migrated from its<br>
+ processor to find a thread to processor mapping.<br>
+<br>
+ See also :cite:`Cerqueira:2014:LPA`.<br>
+<br>
YAML<br>
This term is an acronym for `YAML Ain't Markup Language <<a href="https://yaml.org/" rel="noreferrer" target="_blank">https://yaml.org/</a>>`_.<br>
<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>