Messages in this thread |  | | Subject | Re: [PATCH 9/11] Panic delay fix | From | Rusty Russell <> | Date | Thu, 15 Feb 2007 09:51:46 +1100 |
| |
On Mon, 2007-02-05 at 19:53 -0800, Zachary Amsden wrote: > Failure to use real-time delay here causes the keyboard to become demonically > possessed in the event of a kernel crash, with wildly blinking lights and > unpredictable behavior. This has resulted in several injuries.
The problem is the normal one when we introduce a new concept into the kernel; there are two kinds of udelay, and they've been conflated. The most common case is a delay for real hardware devices; this can be eliminated for paravirtualization. The other cases, the tiny minority, are visible delays (keyboard leds), not knowing if they're necessary (very early boot), and async events (other CPUs coming up): ie. everything else.
Is implementation of this distinction worth it? The answer IMHO is no; this is a case where simplicity wins.
Firstly, most modern distributions ship kernels which have almost no drivers, and modprobe in early boot. So assuming paravirtualized drivers, we don't even experience the boot delays.
Secondly, the major delay for my current kernel is IDE probing (3 out of 5 seconds of boot time!), but implementing the delay ops in lguest does *nothing* for this, because it uses "msleep()" not "mdelay()". so the current solution isn't sufficient anyway. If this is a real problem for users I'd rather try to convince the IDE maintainer to use a "real_hardware_mdelay()" or something here.
Cheers! Rusty. PS. lguest doesn't implement the delay functions; I just tried implemented that now for testing.
- 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/
|  |