Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1892,9 +1892,9 @@ static void switched_to_rt(struct rq *rq, struct task_struct *p)
	 */
	if (p->on_rq && rq->curr != p) {
#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 */
		    rq != task_rq(p))
		    push_rt_task(rq) && rq != task_rq(p))
			check_resched = 0;
#endif /* CONFIG_SMP */
		if (check_resched && p->prio < rq->curr->prio)