[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] A question on the credit scheduler
2011/12/16 gavin <gbtux@xxxxxxx>: > At 2011-12-16 19:04:19,"George Dunlap" <George.Dunlap@xxxxxxxxxxxxx> wrote: > >>2011/12/16 zhikai <gbtux@xxxxxxx>: >>> Hi All, >>> >>> In the credit scheduler, the scheduling decision function csched_schedule() >>> is called in the schedule function in scheduler.c, such as the following. >>> next_slice = sched->do_schedule(sched, now, tasklet_work_scheduled); >>> >>> But, how often the csched_schedule() is called and to run? Does this >>> frequency have something to do with the slice of credit scheduler that is >>> 30ms? >> >>The scheduler runs whenever the SCHEDULE_SOFTIRQ is raised. If you >>grep through the source code fro that string, you can find all the >>places where it's raised. >> >>Some examples include: >>* When the 30ms timeslice is finished >>* When a sleeping vcpu of higher priority than what's currently running wakes up >>* When a vcpu blocks >>* When a vcpu is migrated from one cpu to another >> >>30ms is actually a pretty long time; in typical workloads, vcpus block >>or are preempted by other waking vcpus without using up their full >>timeslice. > > Thank you very much for your reply. > > So, the vcpu is very likely to be preempted whenever the SCHEDULE_SOFTIRQ is > raised. It depends; if you have a cpu-burning vcpu running on a cpu all by itself, then after its 30ms timeslice, Xen will have no one else to run, and so will let it run again. But yes, if there are other vcpus on the runqueue, or the host is moderately busy, it's likely that SCHEDULE_SOFTIRQ will cause a context-switch. > And we cannot find a small timeslice, such as a(ms), which makes the > time any vcpu spending on running phase is k*a(ms), k is integer here. There > is no such a small timeslice. Is it right? I'm sorry, I don't really understand your question. Perhaps if you told me what you're trying to accomplish? -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |