DescriptionAdd boot-services milestone marker for boot; fixed udev-addon init time.
This fixes problems where udev-addon could start before udev did if the
system boot was very slow (like on ARM boards today). Now, we prevent
the failsafe delay and system-services from starting until critical
boot services (like udev, dbus, and syslog) have finished starting.
Now, services that depend on failsafe can assume that boot-services
are present, which seems like a good idea.
This speficially solves problems where USB Ethernet and Camera
weren't being properly setup on some ARM-based boards.
BUG=chromium-os:14299
TEST=Several
Test #1: Validate that my ARM device now consistently brings up the network and other peripherals.
--
Test #2: Ran bootperf before and after (x86-generic on a CR-48).
Before:
(on 10 cycles):
time s% dt s% event
1619 3% +1619 3% startup
1899 2% +280 4% startup_done
3401 9% +1502 22% x_started
3792 5% +391 57% chrome_exec
5004 1% +1212 14% chrome_main
5988 1% +984 5% login
11607 1% +5619 1% network
After:
(on 10 cycles):
time s% dt s% event
1632 3% +1632 3% startup
1905 3% +273 10% startup_done
3566 8% +1661 17% x_started
3839 5% +273 54% chrome_exec
4956 2% +1117 19% chrome_main
5961 2% +1005 12% login
11612 1% +5651 1% network
...all differences are within margins...
--
Test #3: Added a bunch of debug code into my startup scripts, then saw:
[ 63.789794] chromeos_startu used greatest stack depth: 4868 bytes left
init: nvrm main process (823) terminated with status 113
DOUG: dbus pre-start
DOUG: udev prestart
DOUG: syslog prestart
Developer Console
[ ...cut... ]
DOUG: dbus pre-start end
DOUG: dbus start
[ 123.583095] cfg80211: Calling CRDA to update world regulatory domain
[ 153.516623] brcmfmac: module is from the staging directory, the quality is unknown, you have been warned.
[ ...cut... ]
[ 153.889371] modprobe used greatest stack depth: 4852 bytes left
DOUG: udev prestart end
DOUG: udev start
[ 153.922999] udevd (927): /proc/927/oom_adj is deprecated, please use /proc/927/oom_score_adj instead.
DOUG: failsafe delay start
[ 167.548024] Firmware version = wl0: Sep 7 2010 10:38:12 version 4.218.248.5
DOUG: boot-complete done
DOUG: udev-addon start
DOUG: iptables start
[ 170.580429] Linux video capture interface: v2.00
[ ...cut... ]
[ 174.037514] eth1: link up, 100Mbps, full-duplex, lpa 0xCDE1
DOUG: failsafe delay done
--
Test #4: Boot using 'init --verbose' for upstart and look at logs (not included here).
--
Test #5: Ran smoke_Suite.
Committed: http://chrome-svn/viewvc/chromeos?view=rev&revision=e26585f
Patch Set 1 #
Total comments: 8
Patch Set 2 : Address jrbarnette review feedback. #
Total comments: 2
Patch Set 3 : Removed 'stop on' line for dbus and udev. #
Messages
Total messages: 11 (0 generated)
|