sched: fixup buddy selection

We should set the buddy even though we might already have the
TIF_RESCHED flag set.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Peter Zijlstra 2008-09-23 15:33:45 +02:00 committed by Ingo Molnar
parent 4653f803e6
commit 57fdc26d4a

View File

@ -1249,6 +1249,8 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync)
if (unlikely(se == pse))
return;
cfs_rq_of(pse)->next = pse;
/*
* We can come here with TIF_NEED_RESCHED already set from new task
* wake up path.
@ -1256,8 +1258,6 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync)
if (test_tsk_need_resched(curr))
return;
cfs_rq_of(pse)->next = pse;
/*
* Batch tasks do not preempt (their preemption is driven by
* the tick):