Re: [PATCH] sched/deadline: Add sched_dl documentation

From: Luca Abeni
Date: Mon Jan 27 2014 - 07:31:26 EST


Hi Henrik,

On 01/27/2014 12:53 PM, Henrik Austad wrote:
[...]
+ In more details, the CBS algorithm assigns scheduling deadlines to
+ tasks in the following way:
+
+ - Each SCHED_DEADLINE task is characterised by the "runtime",
+ "deadline", and "period" parameters;
+
+ - The state of the task is described by a "scheduling deadline", and
+ a "current runtime". These two parameters are initially set to 0;
+
+ - When a SCHED_DEADLINE task wakes up (becomes ready for execution),
+ the scheduler checks if
+
+ current runtime runtime
+ ---------------------------------- > ----------------
+ scheduling deadline - current time period
+
+ then, if the scheduling deadline is smaller than the current time, or
+ this condition is verified, the scheduling deadline and the
+ current budget are re-initialised as

Current runtime: time spent running _this_ period? or is _remaining_
runtime this period? I get the feeling it's the latter.

So, roughly, it is the ration

remaining_runtime / relative_time_to_deadline

which needs to be greater than the assigned CPU bandwidth, and if so, the
budget should be replensihed?

Shouldn't there be something about not refilling the budget before a new
period has started?
Uh... Maybe the description above can be improved :)
Do you think that using "remaining runtime" instead of "current runtime"
would help? If yes, I'll make this change.

Also, I see that some of your questions are answered by some items below...
Do you think that changing the order of the items in the presentation would
improve the readability? If you suggest a better ordering, I'll try to
rewrite the algorithm's description according to it.


Thanks,
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/