[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
> The file you're looking for re getting an event channel is > xen/common/schedule.c, the common scheduling code. > > In schedule.c, vcpu_wake() will always call the scheduler wake() > function; However, event channels and other "you have an event" > functions call call vcpu_unblock() instead, which will check the > vcpu's VPF_blocked flag and only call vcpu_wake if it was set. > > You could try changing vcpu_unblock() to always call vcpu_wake() for > your experimental development; I'm not sure what side-effects this > would have. After changing vcpu_unblock() to always call vcpu_wake(), the VM that has event can be scheduled immediately no matter whether it is CPU intensive. However, I have another question. Except the I/O event, it seems there are many other events too. Our design is to give a VM a very short period of time when it has "I/O event", and right now, vcpu_wake() is invoked when an event comes, even it is not "I/O event", this will cause that the VM is scheduled much more frequently than what I except. For example, suppose 2 VMs, one is CPU intensive and another is CPU + I/O intensive, from the level of scheduler, almost the same number of events are received from the two VMs. Even I/O itself creates event, since there are other events, the total number of events are almost the same. In such case, I think we need to differentiate the I/O events from other events. I add trace point to __run_tickle() and notice the result that the number of events are almost the same from two VMs, one of which is CPU intensive and the other is CPU + I/O intensive. Although I do not completely confirm what I have said currently, I need do more experiments. Is it possible for me to detect the "I/O event" from "event" so that I can give VM that has "I/O event" the priority to be scheduled immediately? Thanks, Yuehai _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |