Commit 10447917 authored by Kirill V Tkhai's avatar Kirill V Tkhai Committed by Ingo Molnar

sched/rt: Do not try to push tasks if pinned task switches to RT

Just switched pinned task is not able to be pushed. If the rq had had
several RT tasks before they have already been considered as candidates
to be pushed (or pulled).
Signed-off-by: default avatarKirill V Tkhai <tkhai@yandex.ru>
Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20140312061833.3a43aa64@gandalf.local.home
Cc: linux-kernel@vger.kernel.org
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 27e4f9d0
...@@ -1892,9 +1892,9 @@ static void switched_to_rt(struct rq *rq, struct task_struct *p) ...@@ -1892,9 +1892,9 @@ static void switched_to_rt(struct rq *rq, struct task_struct *p)
*/ */
if (p->on_rq && rq->curr != p) { if (p->on_rq && rq->curr != p) {
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
if (rq->rt.overloaded && push_rt_task(rq) && if (p->nr_cpus_allowed > 1 && rq->rt.overloaded &&
/* Don't resched if we changed runqueues */ /* Don't resched if we changed runqueues */
rq != task_rq(p)) push_rt_task(rq) && rq != task_rq(p))
check_resched = 0; check_resched = 0;
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
if (check_resched && p->prio < rq->curr->prio) if (check_resched && p->prio < rq->curr->prio)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment