The O(1) scheduler breaks UML

From: Jeff Dike (jdike@karaya.com)
Date: Sun Jan 13 2002 - 21:39:45 EST


The new scheduler holds IRQs off across the call to context_switch. UML's
_switch_to expects them to be enabled when it is called, and things go
badly wrong when they are not.

Because UML has a host process for each UML thread, SIGIO needs to be
forwarded from one process to the next during a context switch. A SIGIO
arriving during the window between the disabling of IRQs and forwarding of
IRQs to the next process will be trapped on the process going out of
context. This happens fairly regularly and causes hangs because some process
is waiting for disk IO which never arrives because the process that was notified
of the completion is switched out.

So, is it possible to enable IRQs across the call to _switch_to?

                                Jeff

-
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/



This archive was generated by hypermail 2b29 : Tue Jan 15 2002 - 21:00:43 EST