]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - kernel/sched_idletask.c
sched: de-SCHED_OTHER-ize the RT path
[net-next-2.6.git] / kernel / sched_idletask.c
index bf9c25c15b8badfc340dabcb9067ff2437b6d431..ca5374860aefbc7df952e7144c396ae183479fd1 100644 (file)
@@ -5,6 +5,12 @@
  *  handled in sched_fair.c)
  */
 
+#ifdef CONFIG_SMP
+static int select_task_rq_idle(struct task_struct *p, int sync)
+{
+       return task_cpu(p); /* IDLE tasks as never migrated */
+}
+#endif /* CONFIG_SMP */
 /*
  * Idle tasks are unconditionally rescheduled:
  */
@@ -72,6 +78,9 @@ const struct sched_class idle_sched_class = {
 
        /* dequeue is not valid, we print a debug message there: */
        .dequeue_task           = dequeue_task_idle,
+#ifdef CONFIG_SMP
+       .select_task_rq         = select_task_rq_idle,
+#endif /* CONFIG_SMP */
 
        .check_preempt_curr     = check_preempt_curr_idle,