Note that with a fully preemptible kernel, there is no need to test
need_resched on return from system call, since any needed reschedule
should already have been done. If the need_resched was set by an
interrupt handler, the preempt_schedule on return from interrupt (or on
exit from non-preemptible region) will have done the reschedule. And if
need_resched was set because one process woke up another (higher
priority) process, we can do the schedule() immediately, unless we are
in a non-preemptible region in which case it will happen on exit from
that region. I don't think we do an immediate schedule on wakeup yet
but, with the existing preemption patch, that would make the test on
syscall exit completely redundant (which may enable the cli instruction
to be safely removed).
Nigel Gamble nigel@nrg.org
Mountain View, CA, USA. http://www.nrg.org/
-
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/