diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2012-05-31 03:14:22 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2012-05-31 03:14:22 -0400 |
commit | 1f38cc0c41b88aadfd258ee2d6e9698ed3f42a42 (patch) | |
tree | b697a633344ad6e00482c713d717a21d5c017711 | |
parent | f141d730e91283a9bb5cfcb134fcead55d5da0c6 (diff) |
C-EDF: do not requeue jobs without budget
This patch replicates the fix in commit
f141d730e91283a9bb5cfcb134fcead55d5da0c6
(which applies to GSN-EDF).
-rw-r--r-- | litmus/sched_cedf.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/litmus/sched_cedf.c b/litmus/sched_cedf.c index caf7c52d2b84..b0c16e34d2c5 100644 --- a/litmus/sched_cedf.c +++ b/litmus/sched_cedf.c | |||
@@ -305,11 +305,11 @@ static void check_for_preemptions(cedf_domain_t *cluster) | |||
305 | &per_cpu(cedf_cpu_entries, task_cpu(task))); | 305 | &per_cpu(cedf_cpu_entries, task_cpu(task))); |
306 | if(affinity) | 306 | if(affinity) |
307 | last = affinity; | 307 | last = affinity; |
308 | else if(last->linked) | 308 | else if(requeue_preempted_job(last->linked)) |
309 | requeue(last->linked); | 309 | requeue(last->linked); |
310 | } | 310 | } |
311 | #else | 311 | #else |
312 | if (last->linked) | 312 | if (requeue_preempted_job(last->linked)) |
313 | requeue(last->linked); | 313 | requeue(last->linked); |
314 | #endif | 314 | #endif |
315 | link_task_to_cpu(task, last); | 315 | link_task_to_cpu(task, last); |
@@ -479,9 +479,9 @@ static struct task_struct* cedf_schedule(struct task_struct * prev) | |||
479 | /* Any task that is preemptable and either exhausts its execution | 479 | /* Any task that is preemptable and either exhausts its execution |
480 | * 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 |
481 | * 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 |
482 | * for blocked jobs). Preemption go first for the same reason. | 482 | * for blocked jobs). |
483 | */ | 483 | */ |
484 | if (!np && (out_of_time || sleep) && !blocks && !preempt) | 484 | if (!np && (out_of_time || sleep) && !blocks) |
485 | job_completion(entry->scheduled, !sleep); | 485 | job_completion(entry->scheduled, !sleep); |
486 | 486 | ||
487 | /* Link pending task if we became unlinked. | 487 | /* Link pending task if we became unlinked. |