Re: Priority Inheritance Test (Real-Time Preemption)

Ingo Molnar
2004-11-29T15:58:22Z

* Esben Nielsen <simlo@phys.au.dk> wrote:

> On Mon, 29 Nov 2004, Ingo Molnar wrote:
>
> > [...]
> > To give you an extreme example: you cannot run OpenOffice.org with
> > SCHED_FIFO prio 99 and expect it to have any sane deterministic latency
> > bounds. The simpler the app, the easier it is to control latencies.
>
> No, but I want to have my RT-subsystem to be not affected even if the
> users choose to run 1000 soffice.bin at SCHED_NORMAL!! [...]

that is still the case, as long as it doesnt 'interact' with
soffice.bin. Note that the same qualification holds for every hard-RT
OS as well, with varying levels of 'interaction'. Interaction depends on
what kind of synchronization the hard-RT task does, and depends on how
the kernel itself implements various kernel features.

> [...] The problem is that a raw spinlock is used to lock for a
> iteration over a list which can be O(number of waiters * locking
> depth) long. As long as we are in the kernel both is "controlled",
> i.e. one can see the worst-case number in stress test and know it
> can't get worse. *

which list do you mean? Note that the pi_list depends on the number of
_RT-tasks_, not on the number of SCHED_NORMAL tasks. So you can create
an arbitrary number of SCHED_NORMAL tasks, they wont impact the overhead
of mutexes!

i very intentionally made it independent of nr-of-non-RT-tasks.

Ingo