diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-06-12 08:05:51 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-06-12 08:05:51 -0400 |
commit | 18d9c41cb971a2743b9c077a093e56bea41e45a5 (patch) | |
tree | fc1f72e8463d631e094c74dc13ae82240c080fd1 | |
parent | 4faf914b04cbecb9184f6f939e87a3b4cb49c614 (diff) |
PFAIR: set release time of new tasks
Without a proper release time, the job will be considered "lagging
behind" for quite a while, which breaks the period enforcement. This
bug manifested only in the absence of a synchronous release (which set
a proper release time).
This patch simply sets the beginning of the next quantum as the
release time of the first job of a newly added task.
-rw-r--r-- | litmus/sched_pfair.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/litmus/sched_pfair.c b/litmus/sched_pfair.c index 91f1e08cdd5c..54fa36c35344 100644 --- a/litmus/sched_pfair.c +++ b/litmus/sched_pfair.c | |||
@@ -696,6 +696,7 @@ static void pfair_task_new(struct task_struct * t, int on_rq, int is_scheduled) | |||
696 | raw_spin_lock_irqsave(cluster_lock(cluster), flags); | 696 | raw_spin_lock_irqsave(cluster_lock(cluster), flags); |
697 | 697 | ||
698 | prepare_release(t, cluster->pfair_time + 1); | 698 | prepare_release(t, cluster->pfair_time + 1); |
699 | release_at(t, quanta2time(cur_release(t))); | ||
699 | 700 | ||
700 | t->rt_param.scheduled_on = NO_CPU; | 701 | t->rt_param.scheduled_on = NO_CPU; |
701 | t->rt_param.linked_on = NO_CPU; | 702 | t->rt_param.linked_on = NO_CPU; |