[PATCH] score: Remove PRIORITY_PSEUDO_ISR thread priority

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jul 22 12:35:47 UTC 2022

On 21.07.22 16:20, Joel Sherrill wrote:
> On Thu, Jul 21, 2022 at 12:53 AM Sebastian Huber 
> <sebastian.huber at embedded-brains.de 
> <mailto:sebastian.huber at embedded-brains.de>> wrote:
>     Hello Gedare and Joel,
>     On 15.07.22 10:43, Sebastian Huber wrote:
>      > The uniprocessor schedulers had some special case logic for the
>      > PRIORITY_PSEUDO_ISR priority.  Tasks with a priority of
>      > were allowed to preempt a not preemptible task.  If other higher
>     priority task
>      > are made ready while a PRIORITY_PSEUDO_ISR task preempts a not
>     preemptible
>      > task, then the other tasks run before the not preemptible task. 
>     This made the
>      > RTEMS_NO_PREEMPT mode ineffective.
>      >
>      > Remove the PRIORITY_PSEUDO_ISR special case logic.  This
>     simplifies the
>      > uniprocessor schedulers.  Move the uniprocessor-specific
>     scheduler support to
>      > the new header file <rtems/score/scheduleruniimpl.h>.
>      >
>      > Close #2365.
> I'm guessing that  PRIORITY_PSEUDO_ISR wasn't used outside RTEMS itself
> and likely only historically for the Timer Server Thread. The protection 
> for that
> thread was reworked as part of the SMP efforts. If it is used outside 
> that would be a user facing breakage and should be documented.
> If you think all the use cases of PRIORITY_PSEUDO_ISR are accounted for,
> I'm ok with removing it.

The pseudo-interrupt priority is mentioned in a glossary entry:

     priority boosting
         A simple approach to extend the priority inheritance protocol for
         clustered scheduling is 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.

This entry was added for the clustered scheduling documentation and 
needs to be changed.

I found no reference to the no-preempt break of the pseudo-interrupt 
priority in the documentation. I doubt that there is an application 
which relies on this extraordinary feature.

embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:

More information about the devel mailing list