Merge branches 'sched/rt' and 'sched/urgent' into sched/core
Ingo Molnar [Sun, 8 Feb 2009 19:12:46 +0000 (20:12 +0100)]
1  2  3 
include/linux/init_task.h
include/linux/sched.h
init/Kconfig
kernel/sched.c
kernel/sched_fair.c
kernel/sched_rt.c

Simple merge
Simple merge
diff --cc init/Kconfig
Simple merge
diff --cc kernel/sched.c
Simple merge
@@@@ -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;
   
Simple merge