In 2.2 and early 2.4 versions of the scheduler, the 'can_schedule'
macro rejected tasks that had the 'has_cpu' field set. The logic
has been changed so that 'can_schedule' will return true for the
task which is still running on the current CPU. Therefore, the
scan of all tasks on the runqueue will recognize/include the currently
running task. This eliminates the need for the special 'still_running'
check noted above.
The logic should be the same as before. The only difference would
be in the case where a task with identical goodness was found on the
runqueue before the current task. In this case we would run the other
task instead of continuing with the current task. In practice, this
doesn't happen enough to justify the special check.
-- Mike - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/