Messages in this thread Patch in this message | | | Date | Tue, 10 Apr 2012 22:25:33 +0800 | Subject | [patch] DLS: fix switched_from_dl | From | Hillf Danton <> |
| |
Pull only if the current task switches from DLS, since it was not preempted by pushable tasks waiting on other runqueues.
Signed-off-by: Hillf Danton <dhillf@gmail.com> ---
--- a/kernel/sched_dl.c Mon Apr 9 19:39:56 2012 +++ b/kernel/sched_dl.c Tue Apr 10 21:23:52 2012 @@ -1466,12 +1466,7 @@ static void switched_from_dl(struct rq * hrtimer_try_to_cancel(&p->dl.dl_timer);
#ifdef CONFIG_SMP - /* - * Since this might be the only -deadline task on the rq, - * this is the right place to try to pull some other one - * from an overloaded cpu, if any. - */ - if (!rq->dl.dl_nr_running) + if (p == rq->curr) pull_dl_task(rq); #endif } --
| |