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

Re: AW: [Xen-devel] Question on Credit accounting in Credit Scheduler



Hello,

thanks for your answer.

Best regards,

Thomas


Heiko Wundram wrote:
-----Ursprüngliche Nachricht-----
Von: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-
bounces@xxxxxxxxxxxxxxxxxxx] Im Auftrag von Thomas Pfeuffer
Gesendet: Donnerstag, 29. Juli 2010 15:21
An: xen-devel@xxxxxxxxxxxxxxxxxxx
Betreff: [Xen-devel] Question on Credit accounting in Credit Scheduler

I have looked through the source code of Credit Scheduler.

In csched_acct(), the number of credits a domain gets (i.e
credit_fair),
is calculated as follows:

     credit_fair = ( ( credit_total * sdom->weight) + ( weight_total -
1)
                  ) / weigth_total

But I would expect, that the Credits are calculated by

     credit_fair = (credit_total * sdom->weight) / weigth_total

Does anybody know, what function the term (weight_total -1) has?
    

Without knowing details of the Xen scheduling algorithm (i.e., I'm guessing
that the above is integer-only math), all it does is "round up" the (fair)
credits a domain gets [(x+y-1)/y means division with always rounding up,
think of the "Gaußklammer", don't know the german name, in reverse];
basically, if the above calculation is done for all domains, the respective
sum of all calculated credit_fair will always be equal to or higher than
credit_total, which wouldn't be the case (because of truncation when just
doing x/y) when using your function, i.e. the sum of all credit_fair might
be less than credit_total.

For a scheduling algorithm, you'll want to always give away _at least_ all
available credits, and this is a simple enough method to do just that
without resorting to floating point calculations.

--- Heiko.


  

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