Messages in this thread | | | Date | Thu, 07 Aug 2003 11:34:35 +0200 | From | Helge Hafting <> | Subject | Re: Ingo Molnar and Con Kolivas 2.6 scheduler patches |
| |
Rob Landley wrote: [...] > > Thinking out loud for a bit, please tell me if I'm wrong about SCHED_SOFTRR... > > Whatever the policy is, there's only so many ticks to go around and there is > an overload for which it will fail. No resource allocation scheme can > prevent starvation if there simply isn't enough of the resource to go around. > > So, how does SCHED_SOFTRR fail? Theoretically there is a minimum timeslice > you can hand out, yes? And an upper bound on scheduling latency. So > logically, there is some maximum number "N" of SCHED_SOFTRR tasks running at > once where you wind up round-robining with minimal timeslices and the system > is saturated. At N+1, you fall over. (And in reality, there are interrupts > and kernel threads and other things going on that get kind of cramped > somewhere below N.)
I don't know how this particular scheduler fail, but the problem exists for any real-time system. Nobody can run "N+1" guaranteed low-latency tasks where N is the max, that is obvious.
A generic os scheduler can run almost any amount of tasks, with latencies proportional to the amount of tasks.
A good RT scheduler won't even _try_ to run "N+1" RT tasks. The last task will either fail to start, or fail the attempt to increase its priority into RT. You may then kill (or un-prioritize) some other RT task and try again.
Helge Hafting
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |