From: George Dunlap <george.dunlap@eu.citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: credit2 question
Date: Thu, 24 Jan 2013 10:07:35 +0000 [thread overview]
Message-ID: <510107E7.7050701@eu.citrix.com> (raw)
In-Reply-To: <5101159F02000078000B90DC@nat28.tlf.novell.com>
On 24/01/13 10:06, Jan Beulich wrote:
>>>> On 24.01.13 at 10:49, George Dunlap <george.dunlap@eu.citrix.com> wrote:
>> On 24/01/13 07:40, Jan Beulich wrote:
>>> George,
>>>
>>> I'm getting puzzled by the second c2t() invocation in
>>> csched_runtime(): Why is the difference of credits being passed
>>> here? Doesn't that (unless svc->credit is non-positive, i.e. in all
>>> but unusual cases) guarantee time > ntime, and particularly
>>> allow for negative ntime?
>> Ah, right -- yes, if the other guys' credit is positive, "ntime" is
>> guaranteed to be lower. Since c2t() involves integer division, it would
>> definiteyl be good to get rid of the extra call if we can.
>>
>> My general principle is to make the code clear and easily readable
>> first, and then do optimization afterwards -- in this case I just never
>> came back and did the optimization step.
> Oh, I wasn't thinking of just the optimization. It seemed wrong to
> me to do the subtraction there in the first place: "time" is being
> calculated from a plain value, so why would "ntime" be calculated
> from a delta?
Ah, right -- so the idea here was to run until snext->credit was equal
to svc->credit. That's why the delta.
The whole algorithm was supposed to be:
1. At a basic level, run until your credit is 0.
2. But if there's someone else waiting to run, run until your credit ~=
their credit.
3. But never run shorter than MIN_TIMER or longer than MAX_TIMER.
#2 is one of the "experimental" / "research-y" ideas I was trying out.
One of the goals was to reward vcpus that yielded by making sure that
they would get better latency.
-George
next prev parent reply other threads:[~2013-01-24 10:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-24 7:40 credit2 question Jan Beulich
2013-01-24 9:49 ` George Dunlap
2013-01-24 9:53 ` George Dunlap
2013-01-24 10:06 ` Jan Beulich
2013-01-24 10:07 ` George Dunlap [this message]
2013-01-24 10:42 ` Jan Beulich
2013-01-24 10:56 ` George Dunlap
2013-01-24 11:10 ` George Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=510107E7.7050701@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.