From 8e236ee20fddac1f3728fccfb7b8c017506321ea Mon Sep 17 00:00:00 2001 From: Jonathan Herman <hermanjl@cs.unc.edu> Date: Fri, 14 Oct 2011 19:31:13 -0400 Subject: Tasks are now scheduled using servers --- include/litmus/rt_param.h | 2 -- litmus/budget.c | 2 +- litmus/rt_domain.c | 15 --------------- litmus/sched_mc.c | 1 + 4 files changed, 2 insertions(+), 18 deletions(-) diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index f15b1ad5fa3c..55419d411614 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h @@ -212,8 +212,6 @@ struct rt_param { /* Pointer to the page shared between userspace and kernel. */ struct control_page * ctrl_page; - - /* int go; */ }; /* Possible RT flags */ diff --git a/litmus/budget.c b/litmus/budget.c index 7d94f7e61b27..b2239ff1c45c 100644 --- a/litmus/budget.c +++ b/litmus/budget.c @@ -112,7 +112,7 @@ static int __init init_budget_enforcement(void) void task_release(struct task_struct *t) { - t->rt_param.job_params.real_release = t->rt_param.job_params.deadline; + t->rt_param.job_params.real_release = t->rt_param.job_params.real_deadline; t->rt_param.job_params.real_deadline += get_rt_period(t); t->rt_param.job_params.job_no++; TRACE_TASK(t, "Releasing task, rr=%llu rd=%llu\n", diff --git a/litmus/rt_domain.c b/litmus/rt_domain.c index 5264d2546a7f..e6ccf04cecf0 100644 --- a/litmus/rt_domain.c +++ b/litmus/rt_domain.c @@ -417,14 +417,12 @@ static void pd_requeue(domain_t *dom, struct task_struct *task) if (is_released(task, litmus_clock())) { __add_ready(domain, task); - /* tsk_rt(task)->go = 1; */ VTRACE("going, rt: adding %s/%d (%llu, %llu) rel=%llu to ready queue at %llu\n", task->comm, task->pid, get_exec_cost(task), get_rt_period(task), get_release(task), litmus_clock()); } else { /* task has to wait for next release */ VTRACE_TASK(task, "not going, add release(), rel=%llu\n", get_release(task)); - /* tsk_rt(task)->go = 0; */ add_release(domain, task); } @@ -437,10 +435,6 @@ static void pd_requeue(domain_t *dom, struct task_struct *task) static struct task_struct* pd_take_ready(domain_t *dom) { struct task_struct *t = __take_ready((rt_domain_t*)dom->data); - if (t) { - /* TRACE_TASK(t, "going\n"); */ - /* tsk_rt(t)->go = 1; */ - } return t; } @@ -451,10 +445,6 @@ static struct task_struct* pd_take_ready(domain_t *dom) static struct task_struct* pd_peek_ready(domain_t *dom) { struct task_struct *t = __peek_ready((rt_domain_t*)dom->data); - /* if (t) { */ - /* TRACE_TASK(t, "going\n"); */ - /* tsk_rt(t)->go = 1; */ - /* } */ return t; } @@ -462,11 +452,6 @@ static void pd_remove(domain_t *dom, struct task_struct *task) { if (is_queued(task)) remove((rt_domain_t*)dom->data, task); - /* if (is_queued(task) && tsk_rt(task)->go) { */ - /* remove((rt_domain_t*)dom->data, task); */ - /* } else if (is_queued(task)) { */ - /* VTRACE_TASK(task, "Did not remove cause of nogo\n"); */ - /* } */ } /* pd_domain_init - create a generic domain wrapper for an rt_domain diff --git a/litmus/sched_mc.c b/litmus/sched_mc.c index da8a82119612..a81d0bf0e7c6 100644 --- a/litmus/sched_mc.c +++ b/litmus/sched_mc.c @@ -607,6 +607,7 @@ static void job_completion(struct task_struct *task, int forced) /* if (!is_ghost(task)) { */ /* and no more forced!!! */ + if (!ghost && !forced) sched_trace_task_completion(task, forced); /* } */ BUG_ON(!task); -- cgit v1.2.2