Re: [Xen-devel] [PATCH] Getting and setting SEDF scheduling parameters

John L Griffin
2006-01-09T20:42:57Z

Here is a new patch to reflect Keir''s directions from last Friday.
Note
that the patch only addresses the GET/PUT_INFO logic (not the correctness
of the scheduler proper) but the scheduler seems to indeed be doing the
right thing.

This patch:

1. Fixes an underflow bug in sedf_adjust_weights() that would cause the
<slice> for a weight-driven domain to be set to a really big number if the
CPU was already overcommitted.

2. Clarifies the logic in sedf_adjdom().  Whenever (weight==0),
time-driven scheduling is selected.  Otherwise, weight-driven scheduling
is selected.  Extratime scheduling works for both modes.  [Note to Keir:
in re your question, real-time weights only divvy up the spare
non-time-sliced time according to the predetermined schedule.]

3. Adds a heap of comments to the code, including five examples of how one
might set the scheduling parameters.  Each of the five examples has been
non-rigorously tested to work as described, but additional testing is
warranted.

One additional change I recommend is to add printk()''s to sedf_adjdom()
that indicate the failure of a scheduling operation, and possibly to
indicate success as well, but that''s not included in this patch.

Signed-off-by: jlg@us.ibm.com