From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH] credit: Change default timeslice to 5ms Date: Wed, 5 Mar 2014 16:29:36 +0000 Message-ID: <1394036976-484-1-git-send-email-george.dunlap@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Marcus Granado , Keir Fraser , George Dunlap , Dario Faggioli , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org 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. Signed-off-by: George Dunlap --- CC: Jan Beulich CC: Tim Deegan CC: Keir Fraser CC: Dario Faggioli CC: Marcus Granado --- xen/common/sched_credit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c index db5512e..61553d9 100644 --- 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 +/* Default timeslice: 5ms */ +#define CSCHED_DEFAULT_TSLICE_MS 5 #define CSCHED_CREDITS_PER_MSEC 10 -- 1.7.9.5