[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Question about the ability of credit scheduler to handle I/O and CPU intensive VMs
> Your understanding of Xen is not correct. In Xen, the VM itself will > initiate blocking if there is nothing for it to do. PV domains call > SCHED_OP_block(), which will cause the VM to block until it is woken > by an event channel; and HVM domains will execute the HLT instruction, > which will cause the VM to block until it is woken by an interrupt. > > If you do a more complete trace (i.e., "xentrace -e all") and look at > the results with xenalyze, you'll see dom2 making a sched_op > hypercall, then transitioning from RUNSTATE_running to > RUNSTATE_blocked. > I originally considered that when a Dom has an I/O event, its VCPU would be waken up, in another word, csched_vcpu_wake(struct vcpu *vc) should be invoked. However, I find I am definitely wrong. As long as there is a CPU intensive program running in a Dom, this Dom should never be in a state of "sleep"? In another word, it should never be waken up? In such case, suppose there is an I/O event for a VM, how can I insert this VM schedule entity into the head of the link list and make schedule() work immediately? I tried in the function of csched_vcpu_wake, but since this VM also has CPU intensive program, the throughput of I/O makes no difference. I feel that in order to make VM that has I/O scheduled as soon as possible(without considering CPU fairness), other files should be modified besides csched_credit.c. But where it is? I really appreciate your help. Thanks, Yuehai _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |