From: Ingo Molnar Date: Sun, 8 Feb 2009 19:12:46 +0000 (+0100) Subject: Merge branches 'sched/rt' and 'sched/urgent' into sched/core X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=140573d33b703194b7e1893711e78b7f546cca7c;p=linux-2.6-omap-h63xx.git Merge branches 'sched/rt' and 'sched/urgent' into sched/core --- 140573d33b703194b7e1893711e78b7f546cca7c diff --cc kernel/sched_fair.c index bdf64346b4d,8e1352c7555,a7e50ba185a..bc1563e7a24 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@@@ -1440,12 -1393,12 -1411,18 +1458,18 @@@@ static void check_preempt_wakeup(struc return; /* -- * Batch tasks do not preempt (their preemption is driven by ++ * Batch and idle tasks do not preempt (their preemption is driven by * the tick): */ -- if (unlikely(p->policy == SCHED_BATCH)) ++ if (unlikely(p->policy != SCHED_NORMAL)) + return; + ++ /* Idle tasks are by definition preempted by everybody. */ ++ if (unlikely(curr->policy == SCHED_IDLE)) { ++ resched_task(curr); + return; ++ } + if (!sched_feat(WAKEUP_PREEMPT)) return;