diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-09-03 10:27:16 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-09-04 13:26:17 +0200 |
commit | dafa5d88435853809040761b79ab9d8f2217281b (patch) | |
tree | 35d9d87cbe8d00279cc3fa905792569937ed7fea /doc/user | |
parent | score: Implement SMP-specific priority queue (diff) | |
download | rtems-dafa5d88435853809040761b79ab9d8f2217281b.tar.bz2 |
score: Implement priority boosting
Diffstat (limited to 'doc/user')
-rw-r--r-- | doc/user/glossary.texi | 6 | ||||
-rw-r--r-- | doc/user/sem.t | 5 | ||||
-rw-r--r-- | doc/user/smp.t | 6 |
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 |