diff options
| author | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-14 19:31:13 -0400 |
|---|---|---|
| committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-14 19:31:13 -0400 |
| commit | 8e236ee20fddac1f3728fccfb7b8c017506321ea (patch) | |
| tree | 57e12b6c8b14619be814880fd6722154097c6cca | |
| parent | 2cd5b8b9f496e92884b71eb58ea1ed40947cd2f3 (diff) | |
Tasks are now scheduled using serversrtas12-mc-beta-exp
| -rw-r--r-- | include/litmus/rt_param.h | 2 | ||||
| -rw-r--r-- | litmus/budget.c | 2 | ||||
| -rw-r--r-- | litmus/rt_domain.c | 15 | ||||
| -rw-r--r-- | 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 { | |||
| 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 | ||
| 113 | void task_release(struct task_struct *t) | 113 | void 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) | |||
| 437 | static struct task_struct* pd_take_ready(domain_t *dom) | 435 | static 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) | |||
| 451 | static struct task_struct* pd_peek_ready(domain_t *dom) | 445 | static 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); |
