[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] A question on the credit scheduler
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. 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?Best Regards,Gavin > > -George > >_______________________________________________ >Xen-devel mailing list >Xen-devel@xxxxxxxxxxxxxxxxxxx >http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |