aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/sched_sedf.c
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-03-15 10:32:34 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-03-15 10:32:34 +0100
commit92d6391152473329e845917817240f1485cf0e84 (patch)
tree42e2b843658a6c749352e3efd920b63f911859bf /xen/common/sched_sedf.c
parentbadff410e406c0efaaac5d50cd6092e3768951f1 (diff)
downloadxen-92d6391152473329e845917817240f1485cf0e84.tar.gz
xen-92d6391152473329e845917817240f1485cf0e84.tar.bz2
xen-92d6391152473329e845917817240f1485cf0e84.zip
Add extra tracing near a commonly-failing scheduler assertion.
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/common/sched_sedf.c')
-rw-r--r--xen/common/sched_sedf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/common/sched_sedf.c b/xen/common/sched_sedf.c
index d4e8895514..87f9f6ab00 100644
--- a/xen/common/sched_sedf.c
+++ b/xen/common/sched_sedf.c
@@ -585,6 +585,10 @@ static void update_queues(
curinf->deadl_abs +=
DIV_UP(now - curinf->deadl_abs,
curinf->period) * curinf->period;
+ if (unlikely(curinf->deadl_abs < now))
+ printk("Fatal scheduler error: %lld %lld %lld diff=%lld\n",
+ curinf->deadl_abs, now, curinf->period,
+ now - curinf->deadl_abs);
ASSERT(curinf->deadl_abs >= now);
/*give a fresh slice*/
curinf->cputime = 0;