This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Getting and setting SEDF scheduling parameters
From: John L Griffin <jlg@xxxxxxxxxx>
Date: Mon, 9 Jan 2006 15:42:57 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 09 Jan 2006 20:49:50 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <E1EuoyX-0006SF-00@xxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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 

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@xxxxxxxxxx

Attachment: 2006-01-09-jlg-sedf-scheduling.patch
Description: Binary data

Xen-devel mailing list