[patch] DLS: fix switched_from_dl

From: Hillf Danton
Date: Tue Apr 10 2012 - 10:25:31 EST


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@xxxxxxxxx>
---

--- 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
}
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/