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


[Xen-devel] Re: IDLE domain is scheduled more than dom0

To: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Subject: [Xen-devel] Re: IDLE domain is scheduled more than dom0
From: Stephan Diestelhorst <sd386@xxxxxxxxx>
Date: Mon, 11 Jul 2005 15:02:43 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 11 Jul 2005 14:01:30 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <571ACEFD467F7749BC50E0A98C17CDD8074205AE@pdsmsx403>
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>
References: <571ACEFD467F7749BC50E0A98C17CDD8074205AE@pdsmsx403>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.6.2
On Monday 11 July 2005 14:19, Tian, Kevin wrote:
> >From: sd386@xxxxxxxxxxxxxxxx [mailto:sd386@xxxxxxxxxxxxxxxx] On
> >Behalf Of Stephan Diestelhorst
> >Sent: Monday, July 11, 2005 7:26 PM
> >
> >> Not sure whether that strange coming from the fact that IDLE is also
> >> initialized with period as WEIGHT_PERIOD(100ms)?
> >
> >This will not matter, and in fact add_domain will not get called for
>> the idle task.
> Ah, yes, slice of IDLE is always 0, which means arbitration will take
> effect on every tick when current is IDLE.
Not quite. Arbitration points are set by the value of ret.task in do_schedule, 
for the idle-task this value is estimated by the time the first domain on the 
waitq gets ready. (Bear in mind that the idle task only runs if dom0 is 
blocked once you specify the EXTRA_AWARE flag!) If the waitq is empty the 
idle task runs for a relatively long time (one second), but gets immediately 
descheduled when the domain wakes up!
> >> >b) set inf->slice = MILLIESECS(20);
> >
> >Okay, thanks for your investigation!
> >The thing is that the idle domain IS the lowest prioritised domain in the
> >system! So if you set the EXTRA_AWARE flag, it should almost never get
> >scheduled. The only case when this will happen is when dom0 does I/O,
> > as this is treated differently whether it occurs in EDF-time or in
> > extra-time. 
> > I will have a closer look at this, as this behaviour is not acceptable.
> And one thing I'd like you to know is, my test environment is with
> XEN/VTI domain0, which is whole unmodified one without any explicit
> request to do_block. So actually within this model, you can consider
> Dom0 as always runable... Not sure this different behavior as xen0 will
> cause any issue in sedf scheduler which, however can be considered as an
> extreme example for IDLE never to be scheduled. ;-)

But still it should work!


Xen-devel mailing list