diff options
Diffstat (limited to 'litmus/sched_psn_edf.c')
-rw-r--r-- | litmus/sched_psn_edf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/litmus/sched_psn_edf.c b/litmus/sched_psn_edf.c index e50b27391d21..73f64730bd5e 100644 --- a/litmus/sched_psn_edf.c +++ b/litmus/sched_psn_edf.c | |||
@@ -182,8 +182,10 @@ static struct task_struct* psnedf_schedule(struct task_struct * prev) | |||
182 | */ | 182 | */ |
183 | next = NULL; | 183 | next = NULL; |
184 | if ((!np || blocks) && (resched || !exists)) { | 184 | if ((!np || blocks) && (resched || !exists)) { |
185 | /* Take care of a previously scheduled | 185 | /* When preempting a task that does not block, then |
186 | * job by taking it out of the Linux runqueue. | 186 | * re-insert it into either the ready queue or the |
187 | * release queue (if it completed). requeue() picks | ||
188 | * the appropriate queue. | ||
187 | */ | 189 | */ |
188 | if (pedf->scheduled && !blocks) | 190 | if (pedf->scheduled && !blocks) |
189 | requeue(pedf->scheduled, edf); | 191 | requeue(pedf->scheduled, edf); |