aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2012-05-31 03:14:22 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2012-05-31 03:14:22 -0400
commit1f38cc0c41b88aadfd258ee2d6e9698ed3f42a42 (patch)
treeb697a633344ad6e00482c713d717a21d5c017711
parentf141d730e91283a9bb5cfcb134fcead55d5da0c6 (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.c8
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.