Linux semaphores

Re: Schedule idle
MOLNAR Ingo ([email protected])
Wed, 11 Nov 1998 04:09:32 +0100 (CET)
[…]
> _please_ We can do better than this. Only semaphores (not spinlocks) need
> to have the priority inheritance. […]
nope there are _not_ only semaphores, but many other types of locks.
> […] This can be done with lists off the
> semaphore and tasks… […]
it’s _not_ easy to extend Linux semaphores to handle priority inheritance. currently semaphore operations can be done via hw-atomic test-and-set instructions. If we do anything more complex, we cannot use simple instructions anymore. Linux semaphores are 2 instructions for an up() and 2 for a down(), and thats one of our crown jewels 🙂

the whole point is not quite valid, RT and filesystem IO doesnt mix well anyway … the solution: use system calls that are guaranteed to not block, either by design, or by system policy (ie. separate filesystem on a RAMDISK) … or use a device that doesnt introduce large latencies. (RAMdisk or solid state disk)

And then ….