On 24/11/2007, Nikanth Karthikesan <[EMAIL PROTECTED]> wrote: > As an optimization, if all tasks are in the fair class, the next task is > directly picked from fair_sched_class. But, if it returns no task we go > through again from sched_class_highest which could be avoided and > instead return the idle task directly.
The only legitimate possibility of having the fair_sched_class returning no task in this case is when 'rq->nr_running == rq->cfs.nr_running == 0'. iow, a possible optimization would be just the following check : if (rq->nr_running == 0) return idle_sched_class.pick_next_task(rq); at the beginning of pick_next_task(). (or maybe put it at the beginning of the if (likely(rq->nr_running == rq->cfs.nr_running)) {} block as we already have 'likely()' there). -- Best regards, Dmitry Adamushko - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/