Re: udev is too slow creating devices
From: Alexander E. Patrakov
Date: Sun Sep 19 2004 - 21:30:57 EST
Greg KH wrote:
On Sun, Sep 19, 2004 at 10:00:52PM +0600, Alexander E. Patrakov wrote:
OK. The fact is that, when mounting the root filesystem, the kernel can
(?) definitely say "there is no such device, and it's useless to wait
for it--so I panic". Is it possible to duplicate this logic in the case
with udev and modprobe? If so, it should be built into a common place
(either the kernel or into modprobe), but not into all apps.
No, we need to just change the kernel to sit and spin for a while if the
root partition is not found. This is the main problem right now for
booting off of a USB device (or any other "slow" to discover device.)
It's a known kernel issue, and there are patches for 2.4 for this, but
no one has taken the time to update them for 2.6.
Then the "char-major" aliases were always broken, do I understand
correctly?
Yes, for most drivers they are broken. Like sound, usb, and others.
Once we realize that, isn't it the time to mark the
"Automatic kernel module loading" in the kernel configuration as BROKEN
or OBSOLETE?
Fine with me, I've been wanting to do that for years. Are you willing
to handle the fallout of such a patch though? :)
Many thanks for detailed explanation. And, since char-major aliases
don't work with udev anyway, and net-pf aliases are easy to enumerate
and preload by parsing /lib/modules/`uname -r`/modules.alias, I think
that udev users are ready to handle the fallout of this patch.
With hotplug/udev you *know* that the device node is available when your
script in dev.d is called with the appropriate environment variables.
Yes. Now we have a lot of short scriptlets under /etc/dev.d. But I don't
yet see how these scriptlets interact with each other.
What do you mean? What kind of relationship do you need explained about
them?
Implementation of various logical primitives. E.g., I use GPRS and want
to start pppd during the boot process (i.e., an always-on link), but
after the following things:
1) /dev/ttyS0 has been created
2) /dev/ppp has been created
3) modules for line disciplines and PPP compression have been preloaded
(e.g. by grepping modules.alias for tty-ldisc and ppp-compress) and are
ready for use by pppd
4) firewall rules have been applied
How to "AND" these things together in a /etc/dev.d scriptlet?
--
Alexander E. Patrakov
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/