Re: [RFC][PATCH 09/22] sched: add period support for -deadline tasks

From: Luca Abeni
Date: Fri Nov 12 2010 - 08:54:18 EST


On 11/11/2010 08:31 PM, Raistlin wrote:
On Thu, 2010-11-11 at 20:17 +0100, Peter Zijlstra wrote:
On Fri, 2010-10-29 at 08:34 +0200, Raistlin wrote:
Make it possible to specify a period (different or equal than
deadline) for -deadline tasks.

I would expect it to be:

runtime<= deadline<= period

Well, apart from that really unhappy comment/changelog, it should be
like that in the code, and if it's not, it is what I meant and I'll
change to that as soon as I can! :-)

Since you spotted it... The biggest issue here is admission control
test. Right now this is done against task's bandwidth, i.e.,
sum_i(runtime_i/period_i)<=threshold, but it is unfortunately wrong...
Or at least very, very loose, to the point of being almost useless! :-(
The point is that when the relative deadline is different from the period,
the concept of "task utilisation", or "bandwidth" becomes fuzzy at least
(I would say it becomes almost meaningless, but...).

The test with min{D,P} is technically more correct (meaning that it will
never accept unschedulable tasks), but it rejects some schedulable tasks.
As Tommaso pointed out, a more complex admission test would be needed.

The more correct --in the sense that it at least yield a sufficient (not
necessary!) condition-- thing to do would be
sum_i(runtime_i/min{deadline_i,period_i})<=threshold.

So, what you think we should do? Can I go for this latter option?
The one with min{} is at lest correct :)


Luca
--
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/