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

Re: [Xen-devel] A question on the credit scheduler



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.

 -George

_______________________________________________
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®.