--- 2.4.0-test10/kernel/sched.c.~1~ Thu Nov 2 20:59:05 2000 +++ 2.4.0-test10/kernel/sched.c Mon Nov 6 16:44:07 2000 @@ -742,9 +742,10 @@ if (irq && (state & mode & TASK_EXCLUSIVE)) { if (!best_exclusive) best_exclusive = p; - else if ((p->processor == best_cpu) && - (best_exclusive->processor != best_cpu)) - best_exclusive = p; + if (p->processor == best_cpu) { + best_exclusive = p; + break; + } } else { if (sync) wake_up_process_synchronous(p);