Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

[Xen-devel] A credit scheduler issue

To: "Emmanuel Ackaouy" <ack@xxxxxxxxxxxxx>
Subject: [Xen-devel] A credit scheduler issue
From: "Kamble, Nitin A" <nitin.a.kamble@xxxxxxxxx>
Date: Thu, 29 Jun 2006 18:13:51 -0700
Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 29 Jun 2006 18:14:24 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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
Thread-index: Acab4nJ8VPTSt2BSRPq+E72jv1xzYw==
Thread-topic: A credit scheduler issue

Hi Emmanuel,

    I am trying to debug the credit scheduler to solve the many HVM domain instability issues we have found with the credit scheduler.

 

    While debugging I notice an odd behavior; When running on a 2 CPU system, dom0 gets 2 vcpus by default. And even if there are no other domains running in the system,  the dom0 vcpus are getting migrated to different pcpus in the load balance. I think it is due to the preemption happening in the credit scheduler; and it is not necessary and is actually wasteful to move vcpus when no of vcpus in the system are equal to no of pcpus.

    I would like to know your thinking about this behavior. Is it an intended in the design?

 

I added this small fix to the scheduler to fix this behavior. And with it I see the stability of Xen improved. Win2003 boot was crashing with unhandled MMIO error on xen64 earlier with credit scheduler. I am not seeing that crash with this small fix anymore. It is quiet possible that there are more bugs I need to catch for HVM domains in the credit scheduler. And I would like to know your thoughts for this change.

 

csched_runq_steal(struct csched_pcpu *spc, int cpu, int pri)

{

    struct list_head *iter;

    struct csched_vcpu *speer;

    struct vcpu *vc;

 

    /* If there are only 1 vcpu in the queue then stealing it from the queue

     * is not going not help in load balancing.

     */

    if (spc->runq.next->next == &spc->runq)

            return NULL;

 

Thanks & Regards,

Nitin

-----------------------------------------------------------------------------------

Open Source Technology Center, Intel Corp

 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>