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

Re: [Xen-devel] sedf internals question



Hi Tim,

With SEDF, let us say a domain has a certain timeslice allocated to it (say, 500 units) for a certain period (say 1000). It runs for 200, then blocks. When it has become unblocked, the domain is put on the runqueue -- but say we are at the end of the period, maybe 900 units in. Even if it immediately runs for 100 units, what happens to the extra 200 units it is guaranteed?
Those guaranteed 500 units get binned once a domain blocks, because, as you already pointed out, the scheduler can't make anymore guarantees at that point. It can however give some of the suddenly available idle-time to the domain. This is done by a priority scheme that supports those domains most, that lost most of their time due to blocking. There are (or used to be?) some different approaches in sched_sedf.c, which are selectable at compile-time by exchanging macros. Play with those if you want to tweak your system, although my measurements suggested the one that is curently used to be the most useful. (And please send me some of your results if you do ;-) )

Cheers,
 Stephan

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