diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-30 18:26:21 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-30 18:26:21 -0400 |
commit | 696ff3d97e631739c21daf15d2f3484ee9b7cb02 (patch) | |
tree | 4baf76afa81806855751228cba54fac109d9397f /litmus/sched_cedf.c | |
parent | e9fc09f4bd2bae682cea6e7155aad1fe3f58e77b (diff) | |
parent | fb90f3b6a8a604a9aed7249045bfed77ce42de5b (diff) |
Fixed sched_color run issues.
Diffstat (limited to 'litmus/sched_cedf.c')
-rw-r--r-- | litmus/sched_cedf.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/litmus/sched_cedf.c b/litmus/sched_cedf.c index 480c62bc895b..b0c16e34d2c5 100644 --- a/litmus/sched_cedf.c +++ b/litmus/sched_cedf.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <litmus/litmus.h> | 35 | #include <litmus/litmus.h> |
36 | #include <litmus/jobs.h> | 36 | #include <litmus/jobs.h> |
37 | #include <litmus/preempt.h> | 37 | #include <litmus/preempt.h> |
38 | #include <litmus/budget.h> | ||
38 | #include <litmus/sched_plugin.h> | 39 | #include <litmus/sched_plugin.h> |
39 | #include <litmus/edf_common.h> | 40 | #include <litmus/edf_common.h> |
40 | #include <litmus/sched_trace.h> | 41 | #include <litmus/sched_trace.h> |
@@ -304,11 +305,11 @@ static void check_for_preemptions(cedf_domain_t *cluster) | |||
304 | &per_cpu(cedf_cpu_entries, task_cpu(task))); | 305 | &per_cpu(cedf_cpu_entries, task_cpu(task))); |
305 | if(affinity) | 306 | if(affinity) |
306 | last = affinity; | 307 | last = affinity; |
307 | else if(last->linked) | 308 | else if(requeue_preempted_job(last->linked)) |
308 | requeue(last->linked); | 309 | requeue(last->linked); |
309 | } | 310 | } |
310 | #else | 311 | #else |
311 | if (last->linked) | 312 | if (requeue_preempted_job(last->linked)) |
312 | requeue(last->linked); | 313 | requeue(last->linked); |
313 | #endif | 314 | #endif |
314 | link_task_to_cpu(task, last); | 315 | link_task_to_cpu(task, last); |
@@ -478,9 +479,9 @@ static struct task_struct* cedf_schedule(struct task_struct * prev) | |||
478 | /* Any task that is preemptable and either exhausts its execution | 479 | /* Any task that is preemptable and either exhausts its execution |
479 | * budget or wants to sleep completes. We may have to reschedule after | 480 | * budget or wants to sleep completes. We may have to reschedule after |
480 | * this. Don't do a job completion if we block (can't have timers running | 481 | * this. Don't do a job completion if we block (can't have timers running |
481 | * for blocked jobs). Preemption go first for the same reason. | 482 | * for blocked jobs). |
482 | */ | 483 | */ |
483 | if (!np && (out_of_time || sleep) && !blocks && !preempt) | 484 | if (!np && (out_of_time || sleep) && !blocks) |
484 | job_completion(entry->scheduled, !sleep); | 485 | job_completion(entry->scheduled, !sleep); |
485 | 486 | ||
486 | /* Link pending task if we became unlinked. | 487 | /* Link pending task if we became unlinked. |