aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--litmus/sched_psn_edf.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/litmus/sched_psn_edf.c b/litmus/sched_psn_edf.c
index d37f045768d5..7f71ecfaaaae 100644
--- a/litmus/sched_psn_edf.c
+++ b/litmus/sched_psn_edf.c
@@ -88,9 +88,11 @@ static int psnedf_check_resched(rt_domain_t *edf)
88 return 0; 88 return 0;
89} 89}
90 90
91static void job_completion(struct task_struct* t) 91static void job_completion(struct task_struct* t, int forced)
92{ 92{
93 sched_trace_task_completion(t,forced);
93 TRACE_TASK(t, "job_completion().\n"); 94 TRACE_TASK(t, "job_completion().\n");
95
94 set_rt_flags(t, RT_F_SLEEP); 96 set_rt_flags(t, RT_F_SLEEP);
95 prepare_for_next_period(t); 97 prepare_for_next_period(t);
96} 98}
@@ -168,7 +170,7 @@ static struct task_struct* psnedf_schedule(struct task_struct * prev)
168 * this. 170 * this.
169 */ 171 */
170 if (!np && (out_of_time || sleep) && !blocks) { 172 if (!np && (out_of_time || sleep) && !blocks) {
171 job_completion(pedf->scheduled); 173 job_completion(pedf->scheduled, !sleep);
172 resched = 1; 174 resched = 1;
173 } 175 }
174 176