[hardy] slow boot since upgrade (30s "Loading hardware drivers...")

Bug #213903 reported by Malte S. Stretz on 2008-04-08
4
Affects Status Importance Assigned to Milestone
udev (Ubuntu)
Undecided
Unassigned

Bug Description

I upgraded to hardy a few days ago and immediately noticed that booting the box takes a lot longer than before. When I switched off the splash screen I noticed that /etc/init.d/udev hangs for about 20 seconds at the "Loading hardware drivers..." output. I'll attach a bootchart which also shows 20 seconds of idle time where nothing happens.

Description: Ubuntu hardy (development branch)
Release: 8.04

Malte S. Stretz (mss) wrote :
Malte S. Stretz (mss) wrote :
Malte S. Stretz (mss) wrote :

Hmmm... this might be caused by the b43-driver or ifupdown or network-manager or something. In /var/log/udev I can see that the last entry takes 30s to appear (smells like some timeout) and the interface remains as wlan0_rename (smells like some aborted procedure):

UDEV [1207654174.883685] add /devices/platform/i8042/serio4/input/input9/event9 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/i8042/serio4/input/input9/event9
SUBSYSTEM=input
MAJOR=13
MINOR=73
SEQNUM=2748
UDEVD_EVENT=1
ID_CLASS=mouse
ID_SERIAL=noserial
ID_PATH=platform-i8042-serio-4
DEVNAME=/dev/input/event9
DEVLINKS=/dev/input/by-path/platform-i8042-serio-4-event-mouse

UDEV [1207654204.745078] move /devices/pci0000:00/0000:00:1e.0/0000:06:02.0/ssb0:0/net/wlan0_rename (net)
UDEV_LOG=3
ACTION=move
DEVPATH=/devices/pci0000:00/0000:00:1e.0/0000:06:02.0/ssb0:0/net/wlan0_rename
SUBSYSTEM=net
DEVPATH_OLD=/devices/pci0000:00/0000:00:1e.0/0000:06:02.0/ssb0:0/net/wlan0
INTERFACE=wlan0_rename
IFINDEX=4
SEQNUM=2759
UDEVD_EVENT=1

Malte S. Stretz (mss) wrote :

After I poked a bit around I guess this is /lib/udev/write_net_rules which calls lock_rules_file() which has a 30 second timeout if it can't lock the rules file to modify. Just a guess but I'll change the package to udev for now.

Malte S. Stretz (mss) wrote :

To continue my monologue: It seems like I was able to fix it by removing /etc/udev/rules.d/70-persistent-net.rules and let the system rebuild it when booting. I haven't tried to reboot again, might run into the timeout again; I guess it might be caused by the fact that the two interfaces have the same MAC address. My interface names have changed as well:

eth0->eth0
eth1->wmaster0
wlan0_rename->wlan0

A diff between the two rules files:

--- 70-persistent-net.rules.bak 2008-04-08 14:25:38.000000000 +0200
+++ 70-persistent-net.rules 2008-04-08 14:23:44.000000000 +0200
@@ -1,12 +1,10 @@
-# This file maintains persistent names for network interfaces.
-# See udev(7) for syntax.
-#
-# Entries are automatically added by the 75-persistent-net-generator.rules
-# file; however you are also free to add your own entries.
+# This file was automatically generated by the /lib/udev/write_net_rules
+# program run by the persistent-net-generator.rules rules file.
+#
+# You can modify it, as long as you keep each rule on a single line.

 # PCI device 0x14e4:0x170c (b44)
-SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:16:d4:5c:3b:14", NAME="eth0"
+SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:d4:5c:3b:14", ATTR{type}=="1", NAME="eth0"

-# PCI device 0x14e4:0x4318 (bcm43xx)
-SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:16:cf:ab:65:2a", NAME="eth1"
+# PCI device 0x14e4:0x4318 (b43-pci-bridge)
+SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:cf:ab:65:2a", ATTR{type}=="1", NAME="wlan0"

Changed in udev:
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers