|
@@ -1328,6 +1328,7 @@ static int push_dl_task(struct rq *rq)
|
|
|
{
|
|
|
struct task_struct *next_task;
|
|
|
struct rq *later_rq;
|
|
|
+ int ret = 0;
|
|
|
|
|
|
if (!rq->dl.overloaded)
|
|
|
return 0;
|
|
@@ -1373,7 +1374,6 @@ retry:
|
|
|
* The task is still there. We don't try
|
|
|
* again, some other cpu will pull it when ready.
|
|
|
*/
|
|
|
- dequeue_pushable_dl_task(rq, next_task);
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
@@ -1389,6 +1389,7 @@ retry:
|
|
|
deactivate_task(rq, next_task, 0);
|
|
|
set_task_cpu(next_task, later_rq->cpu);
|
|
|
activate_task(later_rq, next_task, 0);
|
|
|
+ ret = 1;
|
|
|
|
|
|
resched_curr(later_rq);
|
|
|
|
|
@@ -1397,7 +1398,7 @@ retry:
|
|
|
out:
|
|
|
put_task_struct(next_task);
|
|
|
|
|
|
- return 1;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static void push_dl_tasks(struct rq *rq)
|