aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/sched_cedf.c
diff options
context:
space:
mode:
authorManohar Vanga <mvanga@mpi-sws.org>2012-10-03 19:06:01 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2012-11-27 13:50:17 -0500
commit63537c738e7eb0ad6bc064b5e47c88092897c1cb (patch)
treee47d645b6567cee533a0e11deac34faf52457868 /litmus/sched_cedf.c
parente2c4a5f574548f7b2b1d55adab3b02fb2d068ea3 (diff)
litmus: get rid of unused RT_F_EXIT_SEM flag
This patch removes the RT_F_EXIT_SEM flag. All code paths depending on it being true are assumed to be unreachable and removed. The 'flags' field in struct rt_params is left as-is for use by specific schedulers. For example, sched_pfair defines a custom flag RT_F_REQUEUE within the 'flags' field. Signed-off-by: Manohar Vanga <mvanga@mpi-sws.org>
Diffstat (limited to 'litmus/sched_cedf.c')
-rw-r--r--litmus/sched_cedf.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/litmus/sched_cedf.c b/litmus/sched_cedf.c
index 62d28d2bf1c8..b45b46fc4fca 100644
--- a/litmus/sched_cedf.c
+++ b/litmus/sched_cedf.c
@@ -595,25 +595,17 @@ static void cedf_task_wake_up(struct task_struct *task)
595 cluster = task_cpu_cluster(task); 595 cluster = task_cpu_cluster(task);
596 596
597 raw_spin_lock_irqsave(&cluster->cluster_lock, flags); 597 raw_spin_lock_irqsave(&cluster->cluster_lock, flags);
598 /* We need to take suspensions because of semaphores into 598 now = litmus_clock();
599 * account! If a job resumes after being suspended due to acquiring 599 if (is_tardy(task, now)) {
600 * a semaphore, it should never be treated as a new job release. 600 /* new sporadic release */
601 */ 601 release_at(task, now);
602 if (get_rt_flags(task) == RT_F_EXIT_SEM) { 602 sched_trace_task_release(task);
603 tsk_rt(task)->completed = 0; 603 }
604 } else { 604 else {
605 now = litmus_clock(); 605 if (task->rt.time_slice) {
606 if (is_tardy(task, now)) { 606 /* came back in time before deadline
607 /* new sporadic release */ 607 */
608 release_at(task, now); 608 tsk_rt(task)->completed = 0;
609 sched_trace_task_release(task);
610 }
611 else {
612 if (task->rt.time_slice) {
613 /* came back in time before deadline
614 */
615 tsk_rt(task)->completed = 0;
616 }
617 } 609 }
618 } 610 }
619 cedf_job_arrival(task); 611 cedf_job_arrival(task);