Re: patch] Real-Time Preemption, plist fixes

From: Esben Nielsen
Date: Sun Jun 05 2005 - 04:02:26 EST


On Sun, 5 Jun 2005, Ingo Molnar wrote:

>
> * Esben Nielsen <simlo@xxxxxxxxxx> wrote:
>
> > When K is a constant or bounded by a constant (140 in this
> > application) any function which is O(K) is O(1) per definition of O!
>
> technically you are right. But the question is - while K is considered a
> constant, and N (nr_running_RT_tasks) is technically not bounded - in
> practice N is bounded just as much. Have you ever seen any hard-RT
> application that has more than 140 threads _running at the same time_ on
> a single CPU? You can even enforce it to be theoretically bounded, via
> ulimits.
>
> in fact, K and N should be pretty close to each other for most
> applications. I'd be interested in real application scenarios where N is
> much (== more than 10 times) larger than K and plists really matter.
>

I think that would only be the case when an application has an error. The
problem now is: Say you have two RT applications running, one living
in priority 0-49 and one in 50-99. Let us say the second has such an
error, like keep spawning threads whichs blocks on a mutex owned by a task
which is blocked forever. Without plists such an error will kill the high
priority RT task. With plists it will only see a _limited_ effect on it's
latency.

You can say plists is better at isolating applications wrt. timing than
ordinary sorted lists.

> Ingo
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/