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] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64

To: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Subject: Re: [Xen-devel] RE: [Patch] Fix IDLE issue with sedf scheduler on IA64
From: Hollis Blanchard <hollisb@xxxxxxxxxx>
Date: Wed, 13 Jul 2005 09:32:06 -0500
Cc: "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 13 Jul 2005 14:30:47 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <571ACEFD467F7749BC50E0A98C17CDD807478DD8@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: <571ACEFD467F7749BC50E0A98C17CDD807478DD8@pdsmsx403>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Jul 13, 2005, at 8:34 AM, Tian, Kevin wrote:

Magenheimer, Dan (HP Labs Fort Collins) wrote:

Is there a better way (for ia64)?  I kind of like the solution
Keir and Ian imply... is it possible in context_switch to simply
"refuse" to switch to the idle domain?   E.g. if the idle domain
is the target of the switch, instead switch to domain0 (and
make it runnable)?

This seems not easy to be simply done in context_switch without common
change. Preventing switch to IDLE is easy, and a simple check in
context_switch can achieve. However the really bad thing is about
housekeep info within scheduler. Eg. domain0 may have been placed on
waitq, with begin of next period still far away. Stealing slice of IDLE
to Dom0 without notifying scheduler, may mess the future decision since
next schedule will happen on Dom0's context and base on dom0's statistic

See how x86 does this in context_switch() (arch/x86/domain.c). In particular, __context_switch is avoided for the idle domain, so the context restored is some register pops in ret_from_intr/restore_all_xen (arch/x86/x86_32/entry.S).

No scheduler changes or confusion necessary...

Hollis Blanchard
IBM Linux Technology Center

Xen-devel mailing list