aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDario Faggioli <dario.faggioli@citrix.com>2012-10-23 04:18:22 -0700
committerDario Faggioli <dario.faggioli@citrix.com>2012-10-23 04:18:22 -0700
commitadb26c09f26e34324e25f5947e3615f6e686ee34 (patch)
tree8d300be2093e88ee531e11d87a2b2e46ab80e54d
parent5061a49c4e8ab1f6ec81dcb6bb2d5e3ba55a67fd (diff)
downloadxen-adb26c09f26e34324e25f5947e3615f6e686ee34.tar.gz
xen-adb26c09f26e34324e25f5947e3615f6e686ee34.tar.bz2
xen-adb26c09f26e34324e25f5947e3615f6e686ee34.zip
xen: sched: introduce a couple of counters in credit2 and SEDF
Mainly for consistency with credit, at least for the events that are general enough, like vCPU initialization/destruction and calls to the specific scheduling function. Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
-rw-r--r--xen/common/sched_credit2.c5
-rw-r--r--xen/common/sched_sedf.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c
index 471f6d5b07..76f9e9a05b 100644
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -753,6 +753,8 @@ csched_alloc_vdata(const struct scheduler *ops, struct vcpu *vc, void *dd)
svc->weight = 0;
}
+ SCHED_STAT_CRANK(vcpu_init);
+
return svc;
}
@@ -870,6 +872,8 @@ csched_vcpu_remove(const struct scheduler *ops, struct vcpu *vc)
if ( ! is_idle_vcpu(vc) )
{
+ SCHED_STAT_CRANK(vcpu_destroy);
+
/* Remove from runqueue */
vcpu_schedule_lock_irq(vc);
@@ -1587,6 +1591,7 @@ csched_schedule(
struct csched_vcpu *snext = NULL;
struct task_slice ret;
+ SCHED_STAT_CRANK(schedule);
CSCHED_VCPU_CHECK(current);
d2printk("sc p%d c d%dv%d now %"PRI_stime"\n",
diff --git a/xen/common/sched_sedf.c b/xen/common/sched_sedf.c
index 66c6d68ada..240a909f38 100644
--- a/xen/common/sched_sedf.c
+++ b/xen/common/sched_sedf.c
@@ -332,6 +332,8 @@ static void *sedf_alloc_vdata(const struct scheduler *ops, struct vcpu *v, void
INIT_LIST_HEAD(&(inf->extralist[EXTRA_PEN_Q]));
INIT_LIST_HEAD(&(inf->extralist[EXTRA_UTIL_Q]));
+ SCHED_STAT_CRANK(vcpu_init);
+
return inf;
}
@@ -763,6 +765,8 @@ static struct task_slice sedf_do_schedule(
struct sedf_vcpu_info *runinf, *waitinf;
struct task_slice ret;
+ SCHED_STAT_CRANK(schedule);
+
/* Idle tasks don't need any of the following stuf */
if ( is_idle_vcpu(current) )
goto check_waitq;