MrsP Semaphore and EDF-RMM

Rúben Gonçalves (1150785) 1150785 at
Wed Aug 1 14:17:54 UTC 2018

We thought about using OMIP, yes, but we didn't manage to find much on the documentation about configuring that protocol. Is it the same in SMP as it is in uniprocessor? You choose RTEMS_PRIORITY | RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY as attributes when calling rtems_semaphore_create() and this enables OMIP?

About the MrsP and EDF combo, I don't think there is, and I don't think I am more informed than you in that area also.

Thanks for your time,
Ruben and Joel.

De: Sebastian Huber <sebastian.huber at>
Enviado: 1 de agosto de 2018 06:26:25
Para: Rúben Gonçalves (1150785); users at
Assunto: Re: MrsP Semaphore and EDF-RMM


On 31/07/18 15:47, Rúben Gonçalves (1150785) wrote:
> When making some experiments to the behaviour of RTEMS in SMP
> configured with EDF and Rate Monotonic Manager we also noticed that
> when a *periodic task* tries to obtain a semaphore created with the
> Multiprocessor Resource Sharing Protocol (MrsP) the application
> returns the status code "RTEMS_INVALID_PRIORITY".
> We presume this is due to the fact that MrsP semaphore obtain function
> tries to raise the priority of the task to the previously defined
> priority ceiling and since the current priority is given by EDF (in a
> way don't understand) (using the rate monotonic) the function is not
> implemented to deal with that.
> Does it make sense? Is it any accurate?

the EDF scheduler uses the deadline of a task to determine its priority.
The earlier the deadline the higher the priority (lower priority value).
The priorities associated with a deadline are higher than the priorities
which can be specified by the normal API.

> If not, how can MrsP be correctly used with these configurations?

This is currently an unsupported use case. You can use the OMIP mutexes
together with the EDF scheduler. Are there schedulability analysis
results for MrsP + EDF?

Maybe the MrsP implementation can be changed to use the highest priority
of the executing thread and the mutex object.

Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list