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