From: George Dunlap <george.dunlap@eu.citrix.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: Marcus Granado <Marcus.Granado@eu.citrix.com>,
Keir Fraser <keir@xen.org>,
Dario Faggioli <dario.faggioli@citrix.com>,
Tim Deegan <tim@xen.org>,
xen-devel@lists.xen.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] credit: Change default timeslice to 5ms
Date: Thu, 6 Mar 2014 12:04:26 +0000 [thread overview]
Message-ID: <5318644A.2060904@eu.citrix.com> (raw)
In-Reply-To: <53175C5C.4060505@citrix.com>
On 03/05/2014 05:18 PM, David Vrabel wrote:
> On 05/03/14 16:29, George Dunlap wrote:
>> The 30ms timeslice was chosen nearly a decade ago now, with cpu
>> "burning" workloads in mind. In the mean time, processors have gotten
>> faster and VMEXITs have gotten faster. A timeslice of 30ms has a
>> major cost when running latency-sensitive workloads like network or
>> audio streaming: getting caught behind just one or two other VMs can
>> introduce a processing delay of up to 60ms, and the "round-robin"
>> nature of the credit scheduler means this delay may be introduced
>> every time the VM yields for periods of time.
>>
>> The XenServer performance team at Citrix have done extensive testing
>> with various timeslices, including 30ms, 10ms, 5ms, and 2ms. None of
>> the workloads exhibited any performance degradation with a 5ms
>> timeslice.
> [...]
>> --- a/xen/common/sched_credit.c
>> +++ b/xen/common/sched_credit.c
>> @@ -29,9 +29,9 @@
>> * Basic constants
>> */
>> #define CSCHED_DEFAULT_WEIGHT 256
>> -#define CSCHED_TICKS_PER_TSLICE 3
>> -/* Default timeslice: 30ms */
>> -#define CSCHED_DEFAULT_TSLICE_MS 30
>> +#define CSCHED_TICKS_PER_TSLICE 1
> The TICKS_PER_TSLICE change doubles the tick rate. Is this intentional?
> It's not mentioned in the commit message.
Hmm -- actually, I just realized that Marcus' test was done with 3 ticks
per timeslice, so "5ms / 1 tick" has *not* been validated. And this is
actually important, because the main purpose of the ticks is to give the
scheduler an opportunity to switch VMs out of "BOOST" priority and into
"UNDER" priority. Reducing the ticks per timeslice changes that
dynamic, and would need to be tested separately.
Also, I just discovered a rather pathological case in general that seems
to be in the scheduler, so for the time being let me retract this while
I figure that out.
-George
next prev parent reply other threads:[~2014-03-06 12:04 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-05 16:29 [PATCH] credit: Change default timeslice to 5ms George Dunlap
2014-03-05 16:33 ` Dario Faggioli
2014-03-05 17:18 ` David Vrabel
2014-03-05 18:04 ` Dario Faggioli
2014-03-06 12:04 ` George Dunlap [this message]
2014-03-06 12:27 ` Dario Faggioli
2014-03-06 10:39 ` Tim Deegan
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=5318644A.2060904@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=Marcus.Granado@eu.citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=tim@xen.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).