diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-06-12 08:05:51 -0400 |
---|---|---|
committer | Namhoon Kim <namhoonk@cs.unc.edu> | 2014-10-21 10:08:43 -0400 |
commit | 5b564e918add09d778ae347e9fdd005a36f8e879 (patch) | |
tree | 11b5cfc29a29bfaab6bc76a3fcaa38b7c870fb28 | |
parent | 3e37b4b502634d6598bbc45d89fef854a2a13ae6 (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; |