[PATCH] c-user: Mention possible preemptions

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Jun 15 12:15:37 UTC 2020


Mention that object create/delete may case the calling task to be
preempted due to the object allocator mutex.
---
 c-user/barrier_manager.rst           | 6 +++++-
 c-user/dual_ports_memory_manager.rst | 8 +++++---
 c-user/message_manager.rst           | 6 +++++-
 c-user/partition_manager.rst         | 6 ++++--
 c-user/rate_monotonic_manager.rst    | 6 ++++--
 c-user/semaphore_manager.rst         | 6 +++++-
 c-user/user_extensions.rst           | 7 ++++---
 7 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/c-user/barrier_manager.rst b/c-user/barrier_manager.rst
index dc50eb5..4438f9c 100644
--- a/c-user/barrier_manager.rst
+++ b/c-user/barrier_manager.rst
@@ -218,7 +218,8 @@ DESCRIPTION:
     the tasks waiting at the barrier unblocked.
 
 NOTES:
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     The following barrier attribute constants are defined by RTEMS:
 
@@ -309,6 +310,9 @@ DESCRIPTION:
     barrier is reclaimed by RTEMS.
 
 NOTES:
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
+
     The calling task will be preempted if it is enabled by the task's execution
     mode and a higher priority local task is waiting on the deleted barrier.
     The calling task will NOT be preempted if all of the tasks that are waiting
diff --git a/c-user/dual_ports_memory_manager.rst b/c-user/dual_ports_memory_manager.rst
index 2c864ad..a8b7183 100644
--- a/c-user/dual_ports_memory_manager.rst
+++ b/c-user/dual_ports_memory_manager.rst
@@ -142,11 +142,12 @@ DESCRIPTION:
     is not used to store the DPCB.
 
 NOTES:
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
+
     The internal_address and external_address parameters must be on a four byte
     boundary.
 
-    This directive will not cause the calling task to be preempted.
-
 .. raw:: latex
 
    \clearpage
@@ -222,7 +223,8 @@ DESCRIPTION:
     DPCB for the deleted dual-ported memory area is reclaimed by RTEMS.
 
 NOTES:
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     The calling task does not have to be the task that created the port.  Any
     local task that knows the port id can delete the port.
diff --git a/c-user/message_manager.rst b/c-user/message_manager.rst
index 3132f2c..0289dca 100644
--- a/c-user/message_manager.rst
+++ b/c-user/message_manager.rst
@@ -273,7 +273,8 @@ DESCRIPTION:
     specified, waiting tasks are serviced in First In-First Out order.
 
 NOTES:
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     The following message queue attribute constants are defined by RTEMS:
 
@@ -396,6 +397,9 @@ DESCRIPTION:
     message buffers is reclaimed by RTEMS.
 
 NOTES:
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
+
     The calling task will be preempted if its preemption mode is enabled and
     one or more local tasks with a higher priority than the calling task are
     waiting on the deleted queue.  The calling task will NOT be preempted if
diff --git a/c-user/partition_manager.rst b/c-user/partition_manager.rst
index 0590c0b..765881f 100644
--- a/c-user/partition_manager.rst
+++ b/c-user/partition_manager.rst
@@ -192,7 +192,8 @@ DESCRIPTION:
     local PTCB free pool and initializes it.
 
 NOTES:
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     The partition buffer area specified by the ``starting_address`` must be
     properly aligned.  It must be possible to directly store target
@@ -360,7 +361,8 @@ DESCRIPTION:
     deleted partition is reclaimed by RTEMS.
 
 NOTES:
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     The calling task does not have to be the task that created the partition.
     Any local task that knows the partition id can delete the partition.
diff --git a/c-user/rate_monotonic_manager.rst b/c-user/rate_monotonic_manager.rst
index 6152005..e9241bc 100644
--- a/c-user/rate_monotonic_manager.rst
+++ b/c-user/rate_monotonic_manager.rst
@@ -666,7 +666,8 @@ DESCRIPTION:
     pool and initializes it.
 
 NOTES:
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
 .. raw:: latex
 
@@ -785,7 +786,8 @@ DESCRIPTION:
     period is reclaimed by RTEMS.
 
 NOTES:
-    This directive will not cause the running task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     A rate monotonic period can be deleted by a task other than the task which
     created the period.
diff --git a/c-user/semaphore_manager.rst b/c-user/semaphore_manager.rst
index 3e6008d..13058f3 100644
--- a/c-user/semaphore_manager.rst
+++ b/c-user/semaphore_manager.rst
@@ -376,7 +376,8 @@ DESCRIPTION:
     are serviced in First In-First Out order.
 
 NOTES:
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     The priority inheritance and priority ceiling algorithms are only supported
     for local, binary semaphores that use the priority task wait queue blocking
@@ -523,6 +524,9 @@ DESCRIPTION:
     this semaphore is reclaimed by RTEMS.
 
 NOTES:
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
+
     The calling task will be preempted if it is enabled by the task's execution
     mode and a higher priority local task is waiting on the deleted semaphore.
     The calling task will NOT be preempted if all of the tasks that are waiting
diff --git a/c-user/user_extensions.rst b/c-user/user_extensions.rst
index 89b86fd..f5318da 100644
--- a/c-user/user_extensions.rst
+++ b/c-user/user_extensions.rst
@@ -487,8 +487,8 @@ DESCRIPTION:
     specified by :c:data:`table` is copied to the ESCB.
 
 NOTES:
-
-    This directive will not cause the calling task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
 .. raw:: latex
 
@@ -566,7 +566,8 @@ DESCRIPTION:
     deleted extension set is reclaimed by RTEMS.
 
 NOTES:
-    This directive will not cause the running task to be preempted.
+    This directive may cause the calling task to be preempted due to an
+    obtain and release of the object allocator mutex.
 
     A extension set can be deleted by a task other than the task which created
     the extension set.
-- 
2.26.2



More information about the devel mailing list