diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 69391ae291b6..0b1615d223fe 100755 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -9307,11 +9307,15 @@ static void detach_task(struct task_struct *p, struct lb_env *env) p->on_rq = TASK_ON_RQ_MIGRATING; deactivate_task(env->src_rq, p, DEQUEUE_NOCLOCK); lockdep_off(); +#ifdef CONFIG_SCHED_WALT double_lock_balance(env->src_rq, env->dst_rq); if (!(env->src_rq->clock_update_flags & RQCF_UPDATED)) update_rq_clock(env->src_rq); set_task_cpu(p, env->dst_cpu); double_unlock_balance(env->src_rq, env->dst_rq); +#else + set_task_cpu(p, env->dst_cpu); +#endif lockdep_on(); }