Influence of application priority on IPC

Alexander Boettcher alexander.boettcher at ...1...
Tue Nov 13 14:19:14 CET 2012

On 12.11.2012 14:28, Udo Steinberg wrote:
> On Mon, 12 Nov 2012 12:24:04 +0100 Alexander Boettcher (AB) wrote:
> AB> On 12.11.2012 10:27, Norman Feske wrote:
> AB> > processes the execution flows through. As far as I know, NOVA is the
> AB> > only kernel of the Genode base platforms that properly implements
> AB> > priority inheritance.
> AB> Just some note for completeness: This is solely implemented for the IPC
> AB> mechanism of the kernel, however it is not supported for the semaphores
> AB> provided by the kernel. That means if semaphores are used as locks to
> AB> protect some critical section in user mode, the thread running inside
> AB> the critical section (and holding the lock) doesn't inherit the priority
> AB> of other threads also attempting to get into the same critical section.
> We don't do it for semaphores, because semaphores can be used from different
> cores and cross-core inheritance doesn't work. We could add some limited
> form of local inheritance to semaphores, e.g. threads on the same core could
> help each other.
> But - having only core-local inheritance for semaphores could lead to odd
> behavior, such as programs working as expected on a single-core machine and
> breaking when running on a multi-core machine, because a developer may have
> built assumptions about priority inheritance into their code.
> So... how useful would core-local inheritance for semaphores be?

IMHO - it is not useful.

Since semaphores can be used cross CPU, priority inheritance either works

* for semaphores on uni- as multi CPU systems
* it doesn't work at all for semaphores.

Currently it does not - which is consequent.

> Cheers,
> Udo
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> _______________________________________________
> Genode-main mailing list
> Genode-main at

More information about the users mailing list