aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2011-10-14 19:31:13 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2011-10-14 19:31:13 -0400
commit8e236ee20fddac1f3728fccfb7b8c017506321ea (patch)
tree57e12b6c8b14619be814880fd6722154097c6cca
parent2cd5b8b9f496e92884b71eb58ea1ed40947cd2f3 (diff)
Tasks are now scheduled using serversrtas12-mc-beta-exp
-rw-r--r--include/litmus/rt_param.h2
-rw-r--r--litmus/budget.c2
-rw-r--r--litmus/rt_domain.c15
-rw-r--r--litmus/sched_mc.c1
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 {
212 212
213 /* Pointer to the page shared between userspace and kernel. */ 213 /* Pointer to the page shared between userspace and kernel. */
214 struct control_page * ctrl_page; 214 struct control_page * ctrl_page;
215
216 /* int go; */
217}; 215};
218 216
219/* Possible RT flags */ 217/* 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)
112 112
113void task_release(struct task_struct *t) 113void task_release(struct task_struct *t)
114{ 114{
115 t->rt_param.job_params.real_release = t->rt_param.job_params.deadline; 115 t->rt_param.job_params.real_release = t->rt_param.job_params.real_deadline;
116 t->rt_param.job_params.real_deadline += get_rt_period(t); 116 t->rt_param.job_params.real_deadline += get_rt_period(t);
117 t->rt_param.job_params.job_no++; 117 t->rt_param.job_params.job_no++;
118 TRACE_TASK(t, "Releasing task, rr=%llu rd=%llu\n", 118 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)
417 417
418 if (is_released(task, litmus_clock())) { 418 if (is_released(task, litmus_clock())) {
419 __add_ready(domain, task); 419 __add_ready(domain, task);
420 /* tsk_rt(task)->go = 1; */
421 VTRACE("going, rt: adding %s/%d (%llu, %llu) rel=%llu to ready queue at %llu\n", 420 VTRACE("going, rt: adding %s/%d (%llu, %llu) rel=%llu to ready queue at %llu\n",
422 task->comm, task->pid, get_exec_cost(task), get_rt_period(task), 421 task->comm, task->pid, get_exec_cost(task), get_rt_period(task),
423 get_release(task), litmus_clock()); 422 get_release(task), litmus_clock());
424 } else { 423 } else {
425 /* task has to wait for next release */ 424 /* task has to wait for next release */
426 VTRACE_TASK(task, "not going, add release(), rel=%llu\n", get_release(task)); 425 VTRACE_TASK(task, "not going, add release(), rel=%llu\n", get_release(task));
427 /* tsk_rt(task)->go = 0; */
428 add_release(domain, task); 426 add_release(domain, task);
429 } 427 }
430 428
@@ -437,10 +435,6 @@ static void pd_requeue(domain_t *dom, struct task_struct *task)
437static struct task_struct* pd_take_ready(domain_t *dom) 435static struct task_struct* pd_take_ready(domain_t *dom)
438{ 436{
439 struct task_struct *t = __take_ready((rt_domain_t*)dom->data); 437 struct task_struct *t = __take_ready((rt_domain_t*)dom->data);
440 if (t) {
441 /* TRACE_TASK(t, "going\n"); */
442 /* tsk_rt(t)->go = 1; */
443 }
444 return t; 438 return t;
445} 439}
446 440
@@ -451,10 +445,6 @@ static struct task_struct* pd_take_ready(domain_t *dom)
451static struct task_struct* pd_peek_ready(domain_t *dom) 445static struct task_struct* pd_peek_ready(domain_t *dom)
452{ 446{
453 struct task_struct *t = __peek_ready((rt_domain_t*)dom->data); 447 struct task_struct *t = __peek_ready((rt_domain_t*)dom->data);
454 /* if (t) { */
455 /* TRACE_TASK(t, "going\n"); */
456 /* tsk_rt(t)->go = 1; */
457 /* } */
458 return t; 448 return t;
459} 449}
460 450
@@ -462,11 +452,6 @@ static void pd_remove(domain_t *dom, struct task_struct *task)
462{ 452{
463 if (is_queued(task)) 453 if (is_queued(task))
464 remove((rt_domain_t*)dom->data, task); 454 remove((rt_domain_t*)dom->data, task);
465 /* if (is_queued(task) && tsk_rt(task)->go) { */
466 /* remove((rt_domain_t*)dom->data, task); */
467 /* } else if (is_queued(task)) { */
468 /* VTRACE_TASK(task, "Did not remove cause of nogo\n"); */
469 /* } */
470} 455}
471 456
472/* pd_domain_init - create a generic domain wrapper for an rt_domain 457/* 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)
607 607
608 /* if (!is_ghost(task)) { */ 608 /* if (!is_ghost(task)) { */
609 /* and no more forced!!! */ 609 /* and no more forced!!! */
610 if (!ghost && !forced)
610 sched_trace_task_completion(task, forced); 611 sched_trace_task_completion(task, forced);
611 /* } */ 612 /* } */
612 BUG_ON(!task); 613 BUG_ON(!task);