From: Xunlei Pang <pang.xun...@linaro.org> - Remove "has_pushable_tasks(rq)" condition, because for queued p, "!task_running(rq, p)" and "p->nr_cpus_allowed > 1" implies true "has_pushable_tasks(rq)".
- Remove "!test_tsk_need_resched(rq->curr)" condition, because the flag might be set right before the waking up, but we still need to push equal or lower priority tasks, it should be removed. Without this condition, we actually get the right logic. Signed-off-by: Xunlei Pang <pang.xun...@linaro.org> --- kernel/sched/rt.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index a9d33a3..9d735da 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -2233,8 +2233,6 @@ out: static void task_woken_rt(struct rq *rq, struct task_struct *p) { if (!task_running(rq, p) && - !test_tsk_need_resched(rq->curr) && - has_pushable_tasks(rq) && p->nr_cpus_allowed > 1 && (dl_task(rq->curr) || rt_task(rq->curr)) && (rq->curr->nr_cpus_allowed < 2 || -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/