WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [RFC] Add static priority into credit scheduler

To: "Su, Disheng" <disheng.su@xxxxxxxxx>
Subject: Re: [Xen-devel] [RFC] Add static priority into credit scheduler
From: George Dunlap <dunlapg@xxxxxxxxx>
Date: Wed, 25 Mar 2009 10:35:51 +0000
Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, NISHIGUCHI Naoki <nisiguti@xxxxxxxxxxxxxx>
Delivery-date: Wed, 25 Mar 2009 03:36:20 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=pBybQZGkCxwgQotW15ZLLgjOPoSd9VwZZwdaLs0CwYI=; b=nLp6RiZWoJgB6fSSp667B2SX8lOqOfqDcfVPtQQf/kz3HhQXavqjh34WUPFYSVldNW nuJvrdNPmfCBL8i4+TFTcoCr9ohfmiXHlCrHJBht8IRuEW99wDiHNb4CK3viXWBqZsCt Sone9S6Sn7HMl57PSdgfYSNCc1B61gKVwqG3A=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=qhfB+aJLPUBGvQQpfY4z+XRrQtrt6t74Lkx5uiPKrKNZqW0FOwuZLGqgmO6hwt4/uo VYeUINx7pqAX4GzIZC68aT5SMXoAMGkTRVOGUibueoUt8w1/Nymp+vtW6lQHNgE5ojUQ gF7eQ2PQS/pXzlp+Qy3uHbZWZF9Pq1qqs4k3M=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <BB1F052FCDB1EA468BD99786C8B1ED2C01DC1429D6@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <BB1F052FCDB1EA468BD99786C8B1ED2C01DC1424F2@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <de76405a0903200542j8c19bdu86f401d28bc07ae8@xxxxxxxxxxxxxx> <BB1F052FCDB1EA468BD99786C8B1ED2C01DC1429D6@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
2009/3/23 Su, Disheng <disheng.su@xxxxxxxxx>:
> Glad to know that credit scheduler is being improved.
> If it can improve the latency/real time capabilty with minimal enhancement 
> that will be much better:)

I'm still a bit skeptical, but I guess not as much as before.  I don't
think it's really the best solution, and I definitely think that
people shouldn't think about this as a *good* solution to
latency-sensitive workloads like video and audio.  But it might be
handy to have around as a "quick-fix".  If nothing else, client
virtualization (e.g., VMs with audio pass-through) are important, and
since credit2 isn't going to make it into 3.4, something like this
might be a necessary stand-in.

I'd be interested to hear others' opinions.

Regarding the "sleep-for-some-time-and-wake-up" test, I hacked minios
to do simulate this kind of "periodic deadline work" as a part of my
development.  (Patch attached.) It will set a timer to go off every
period, and then spin for a given amount of cycles.  If it isn't
scheduled for a period, it "drops" work.  Every second it reports the
percentage of work completed.  Credit1 does absolutely terrible --
completely unfair and unpredictable.  A few changes in credit2 allowed
the number of missed deadlines to degrade gracefully, equally across
all VMs, correlated at least with the VM's weight, in a predictable
manner.

If we did include something like this, we would need to make sure that
we couldn't get into a state where misbehaving RT guests locked out
dom0 and any driver domains necessary for dom0 network access.  (We
may trust the VMs not to purposely misbehave, but between bugs and
operator error, there's still plenty of room for misbehavior.)  I was
looking through the Linux scheduler code, and they seem to have some
limits on RT processes as well, presumably for the same reason.

 -George

Attachment: minios-periodic-work.diff
Description: Text Data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel