From da92ec5bd13b7d0a7093a251a6535f21c7a6ad0e Mon Sep 17 00:00:00 2001 From: Dario Faggioli Date: Thu, 15 Sep 2016 12:35:05 +0100 Subject: [PATCH] xen: credit2: "relax" CSCHED2_MAX_TIMER Credit2 is already event based, rather than tick based. This means, the time at which the (i+1)-eth scheduling decision needs to happen is computed during the i-eth scheduling decision, and a timer is set accordingly. If there's nothing imminent (or, the most imminent event is really really really far away), it is ok to say "well, let's double-check things in a little bit anyway", but such 'little bit' does not need to be too little, as, most likely, it's just pure overhead. The current period, for this "safety catch"-alike timer is 2ms, which indeed is high, but it can well be higher. In fact, benchmarks show that setting it to 10ms --combined with other optimizations-- does actually improve performance. Signed-off-by: Dario Faggioli Reviewed-by: George Dunlap --- xen/common/sched_credit2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c index 6b983190ca..fe46e80487 100644 --- a/xen/common/sched_credit2.c +++ b/xen/common/sched_credit2.c @@ -149,7 +149,7 @@ /* Reset: Value below which credit will be reset. */ #define CSCHED2_CREDIT_RESET 0 /* Max timer: Maximum time a guest can be run for. */ -#define CSCHED2_MAX_TIMER MILLISECS(2) +#define CSCHED2_MAX_TIMER CSCHED2_CREDIT_INIT #define CSCHED2_IDLE_CREDIT (-(1<<30)) -- 2.30.2