diff --git a/[refs] b/[refs] index 3d77beb496d5..bea109c5037d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cd29fe6f2637cc2ccbda5ac65f5332d6bf5fa3c6 +refs/heads/master: a65ac745e47e91f9d98dbf07f22ed0492e34d998 diff --git a/trunk/kernel/sched_fair.c b/trunk/kernel/sched_fair.c index 44ec80ccfa85..4dec18579c9a 100644 --- a/trunk/kernel/sched_fair.c +++ b/trunk/kernel/sched_fair.c @@ -1651,8 +1651,6 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ int sync = wake_flags & WF_SYNC; int scale = cfs_rq->nr_running >= sched_nr_latency; - update_curr(cfs_rq); - if (unlikely(rt_prio(p->prio))) { resched_task(curr); return; @@ -1710,6 +1708,8 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ BUG_ON(!pse); + update_curr(cfs_rq); + if (wakeup_preempt_entity(se, pse) == 1) { resched_task(curr); /*