summaryrefslogtreecommitdiffstats
path: root/doc/user
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-09-03 10:27:16 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-09-04 13:26:17 +0200
commitdafa5d88435853809040761b79ab9d8f2217281b (patch)
tree35d9d87cbe8d00279cc3fa905792569937ed7fea /doc/user
parentscore: Implement SMP-specific priority queue (diff)
downloadrtems-dafa5d88435853809040761b79ab9d8f2217281b.tar.bz2
score: Implement priority boosting
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/glossary.texi6
-rw-r--r--doc/user/sem.t5
-rw-r--r--doc/user/smp.t6
3 files changed, 15 insertions, 2 deletions
diff --git a/doc/user/glossary.texi b/doc/user/glossary.texi
index f0beeab4d7..bf22cf6133 100644
--- a/doc/user/glossary.texi
+++ b/doc/user/glossary.texi
@@ -505,6 +505,12 @@ A mechanism used to represent the relative
importance of an element in a set of items. RTEMS uses priority
to determine which task should execute.
+@item priority boosting
+A simple approach to extend the priority inheritance protocol for clustered
+scheduling is @dfn{priority boosting}. In case a mutex is owned by a task of
+another cluster, then the priority of the owner task is raised to an
+artificially high priority, the pseudo-interrupt priority.
+
@item priority inheritance
An algorithm that calls for
the lower priority task holding a resource to have its priority
diff --git a/doc/user/sem.t b/doc/user/sem.t
index 6bd22dd3d7..210f1d0d92 100644
--- a/doc/user/sem.t
+++ b/doc/user/sem.t
@@ -115,6 +115,11 @@ for that resource. Each time a task blocks attempting to obtain
the resource, the task holding the resource may have its
priority increased.
+On SMP configurations, in case the task holding the resource and the task that
+blocks attempting to obtain the resource are in different scheduler instances,
+the priority of the holder is raised to the pseudo-interrupt priority (priority
+boosting). The pseudo-interrupt priority is the highest priority.
+
RTEMS supports priority inheritance for local, binary
semaphores that use the priority task wait queue blocking
discipline. When a task of higher priority than the task
diff --git a/doc/user/smp.t b/doc/user/smp.t
index db4114c564..de07f3c2d9 100644
--- a/doc/user/smp.t
+++ b/doc/user/smp.t
@@ -164,12 +164,14 @@ and instruction caches. With clustered scheduling it is possible to honour the
cache topology of a system and thus avoid expensive cache synchronization
traffic. It is easy to implement. The problem is to provide synchronization
primitives for inter-cluster synchronization (more than one cluster is involved
-in the synchronization process). In RTEMS there are currently three means
+in the synchronization process). In RTEMS there are currently four means
available
@itemize @bullet
@item events,
-@item message queues, and
+@item message queues,
+@item semaphores using the @ref{Semaphore Manager Priority Inheritance}
+protocol (priority boosting), and
@item semaphores using the @ref{Semaphore Manager Multiprocessor Resource
Sharing Protocol} (MrsP).
@end itemize