X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=kernel%2Fsched_fair.c;h=5f9650e8fe7587938de1bfa71e48cd4a04061d36;hb=f83b1e616f2f68b56b09b2f5116591981fee0c1c;hp=3816f217f119ef635cf169f268b5140c6e0f66c6;hpb=d855ebec4573e52b93dddf9ac0dbca89203ee0e5;p=~andy%2Flinux diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 3816f217f11..5f9650e8fe7 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1487,17 +1487,10 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int sync) find_matching_se(&se, &pse); - while (se) { - BUG_ON(!pse); + BUG_ON(!pse); - if (wakeup_preempt_entity(se, pse) == 1) { - resched_task(curr); - break; - } - - se = parent_entity(se); - pse = parent_entity(pse); - } + if (wakeup_preempt_entity(se, pse) == 1) + resched_task(curr); } static struct task_struct *pick_next_task_fair(struct rq *rq)