Hi, This comment is written in head of reschedule_idle, is it really correct? -------------------------- /* * This is ugly, but reschedule_idle() is very timing-critical. * We enter with the runqueue spinlock held, but we might end * up unlocking it early, so the caller must not unlock the * runqueue, it's always done by reschedule_idle(). * * This function must be inline as anything that saves and restores * flags has to do so within the same register window on sparc (Anton) */ static FASTCALL(void reschedule_idle(struct task_struct * p)); static void reschedule_idle(struct task_struct * p) -------------------------- If it is then, wake_up_process and schedule_tail are wrong. But I think not... -------------------------- reschedule_idle(p); out: spin_unlock_irqrestore(&runqueue_lock, flags); -------------------------- /RogerL -- Home page: http://www.norran.net/nra02596/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/