Thread (2 messages) 2 messages, 2 authors, 2014-02-07

Re: priority inheritance on kernel semaphore?

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: 2014-02-07 17:03:25

* Kim H. Madsen | 2014-01-29 08:07:36 [+0100]:
According to <https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO> the
preempt-rt patch is "Implementing priority inheritance for in-kernel
spinlocks and semaphores.".

Testing this on 2.6.33.7-rt29 and 3.4.37-rt51 using up()/down() seems to
give another result? PI works fine when using rt_mutex instead in the test. Have I
failed in the testing/configuration or is the documentation out of date?
The documentation is partly out of date. In the "early" days we had
boosting for semaphores. Later (once the semaphore users were not that
important / critical) the whole owner tracking part got removed and so
we do not have priority boosting for semaphores anymore.

There are also reader/write semaphores (rw_semaphore) and this is
almost mapped to a mutexe (there is a difference a small difference).
Here we have owner tracking and PI on -RT. The price for this is that
you can't have >1 simultaneous readers on a rw_semaphore on -RT.

So spin_lock, mutex and rw_semaphore should give you PI, plain
semaphores don't.

John, could you please update the wiki?
- Kim--
Sebastian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help