[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] 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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.