diff --git a/kernel/sched/core.c b/kernel/sched/core.c index e9073ce185a6..69804e135509 100755 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -987,9 +987,14 @@ static struct rq *move_queued_task(struct rq *rq, struct rq_flags *rf, p->on_rq = TASK_ON_RQ_MIGRATING; dequeue_task(rq, p, DEQUEUE_NOCLOCK); +#ifdef CONFIG_SCHED_WALT double_lock_balance(rq, cpu_rq(new_cpu)); set_task_cpu(p, new_cpu); double_rq_unlock(cpu_rq(new_cpu), rq); +#else + set_task_cpu(p, new_cpu); + rq_unlock(rq, rf); +#endif rq = cpu_rq(new_cpu);