<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>