Concurrent execution of rc-scripts with rcorder(8)
Buganini
buganini at gmail.com
Wed Aug 24 14:03:02 UTC 2011
rcexecr generate time table like this:
# env ARG0=\? ARG1=start rcexecr /etc/rc.d/*
1 beg /etc/rc.d/dhclient start
1 beg /etc/rc.d/rctl start
1 beg /etc/rc.d/natd start
1 beg /etc/rc.d/ugidfw start
1 beg /etc/rc.d/sysctl start
2 end /etc/rc.d/sysctl
3 beg /etc/rc.d/hostid start
4 end /etc/rc.d/hostid
5 beg /etc/rc.d/zvol start
6 end /etc/rc.d/zvol
7 beg /etc/rc.d/dumpon start
8 end /etc/rc.d/dumpon
9 beg /etc/rc.d/ddb start
10 end /etc/rc.d/ddb
11 beg /etc/rc.d/initrandom start
12 end /etc/rc.d/initrandom
13 beg /etc/rc.d/gbde start
13 beg /etc/rc.d/ccd start
13 beg /etc/rc.d/encswap start
13 beg /etc/rc.d/geli start
14 end /etc/rc.d/gbde
14 end /etc/rc.d/encswap
14 end /etc/rc.d/geli
14 end /etc/rc.d/ccd
15 beg /etc/rc.d/swap1 start
16 end /etc/rc.d/swap1
17 beg /etc/rc.d/fsck start
18 end /etc/rc.d/fsck
19 beg /etc/rc.d/root start
20 end /etc/rc.d/root
21 beg /etc/rc.d/serial start
21 beg /etc/rc.d/mdconfig start
21 beg /etc/rc.d/sppp start
21 beg /etc/rc.d/nsswitch start
21 beg /etc/rc.d/gssd start
21 beg /etc/rc.d/hostid_save start
21 beg /etc/rc.d/atm1 start
22 end /etc/rc.d/hostid_save
22 end /etc/rc.d/mdconfig
23 beg /etc/rc.d/mountcritlocal start
24 end /etc/rc.d/mountcritlocal
25 beg /etc/rc.d/zfs start
26 end /etc/rc.d/zfs
27 beg /etc/rc.d/FILESYSTEMS start
28 end /etc/rc.d/FILESYSTEMS
29 beg /etc/rc.d/hostname start
29 beg /etc/rc.d/ip6addrctl start
29 beg /etc/rc.d/geli2 start
29 beg /etc/rc.d/kldxref start
29 beg /etc/rc.d/kld start
29 beg /etc/rc.d/ipfilter start
29 beg /etc/rc.d/netoptions start
29 beg /etc/rc.d/addswap start
29 beg /etc/rc.d/ipsec start
30 end /etc/rc.d/ipfilter
30 end /etc/rc.d/kld
31 beg /etc/rc.d/ipnat start
31 beg /etc/rc.d/var start
32 end /etc/rc.d/ipnat
32 end /etc/rc.d/var
33 beg /etc/rc.d/ipfs start
33 beg /etc/rc.d/random start
33 beg /etc/rc.d/cleanvar start
34 end /etc/rc.d/hostname
34 end /etc/rc.d/random
35 beg /etc/rc.d/ipmon start
35 beg /etc/rc.d/adjkerntz start
35 beg /etc/rc.d/mixer start
36 end /etc/rc.d/atm1
36 end /etc/rc.d/serial
36 end /etc/rc.d/ip6addrctl
36 end /etc/rc.d/netoptions
36 end /etc/rc.d/adjkerntz
36 end /etc/rc.d/kldxref
36 end /etc/rc.d/sppp
36 end /etc/rc.d/ipfs
36 end /etc/rc.d/cleanvar
37 beg /etc/rc.d/netif start
38 end /etc/rc.d/netif
39 beg /etc/rc.d/ppp start
39 beg /etc/rc.d/rtsold start
39 beg /etc/rc.d/faith start
39 beg /etc/rc.d/pfsync start
39 beg /etc/rc.d/pflog start
39 beg /etc/rc.d/devd start
39 beg /etc/rc.d/static_arp start
39 beg /etc/rc.d/stf start
39 beg /etc/rc.d/bridge start
39 beg /etc/rc.d/resolv start
39 beg /etc/rc.d/atm2 start
40 end /etc/rc.d/devd
40 end /etc/rc.d/atm2
40 end /etc/rc.d/pfsync
40 end /etc/rc.d/pflog
41 beg /etc/rc.d/defaultroute start
41 beg /etc/rc.d/atm3 start
41 beg /etc/rc.d/pf start
41 beg /etc/rc.d/ipfw start
42 end /etc/rc.d/faith
42 end /etc/rc.d/ppp
42 end /etc/rc.d/stf
42 end /etc/rc.d/pf
43 beg /etc/rc.d/routing start
44 end /etc/rc.d/routing
45 beg /etc/rc.d/mroute6d start
45 beg /etc/rc.d/route6d start
45 beg /etc/rc.d/routed start
45 beg /etc/rc.d/mrouted start
46 end /etc/rc.d/routed
46 end /etc/rc.d/resolv
46 end /etc/rc.d/rtsold
46 end /etc/rc.d/ipfw
46 end /etc/rc.d/mroute6d
46 end /etc/rc.d/nsswitch
46 end /etc/rc.d/defaultroute
46 end /etc/rc.d/mrouted
46 end /etc/rc.d/route6d
47 beg /etc/rc.d/NETWORKING start
48 end /etc/rc.d/NETWORKING
49 beg /etc/rc.d/pppoed start
49 beg /etc/rc.d/kerberos start
49 beg /etc/rc.d/netwait start
49 beg /etc/rc.d/nfsuserd start
50 end /etc/rc.d/kerberos
50 end /etc/rc.d/ipsec
50 end /etc/rc.d/netwait
51 beg /etc/rc.d/mountcritremote start
51 beg /etc/rc.d/nfscbd start
51 beg /etc/rc.d/kadmind start
52 end /etc/rc.d/kadmind
52 end /etc/rc.d/mountcritremote
53 beg /etc/rc.d/motd start
53 beg /etc/rc.d/wpa_supplicant start
53 beg /etc/rc.d/tmp start
53 beg /etc/rc.d/newsyslog start
53 beg /etc/rc.d/mdconfig2 start
53 beg /etc/rc.d/ldconfig start
53 beg /etc/rc.d/kpasswdd start
53 beg /etc/rc.d/hostapd start
53 beg /etc/rc.d/gptboot start
53 beg /etc/rc.d/dmesg start
53 beg /etc/rc.d/devfs start
53 beg /etc/rc.d/archdep start
53 beg /etc/rc.d/accounting start
54 end /etc/rc.d/newsyslog
54 end /etc/rc.d/tmp
54 end /etc/rc.d/archdep
55 beg /etc/rc.d/virecover start
55 beg /etc/rc.d/syslogd start
55 beg /etc/rc.d/cleartmp start
55 beg /etc/rc.d/abi start
56 end /etc/rc.d/syslogd
57 beg /etc/rc.d/savecore start
57 beg /etc/rc.d/localpkg start
57 beg /etc/rc.d/power_profile start
57 beg /etc/rc.d/auditd start
57 beg /etc/rc.d/pwcheck start
57 beg /etc/rc.d/bsnmpd start
57 beg /etc/rc.d/hastd start
58 end /etc/rc.d/mdconfig2
58 end /etc/rc.d/savecore
58 end /etc/rc.d/abi
58 end /etc/rc.d/devfs
58 end /etc/rc.d/ldconfig
58 end /etc/rc.d/ipmon
59 beg /etc/rc.d/SERVERS start
60 end /etc/rc.d/SERVERS
61 beg /etc/rc.d/ipxrouted start
61 beg /etc/rc.d/named start
62 end /etc/rc.d/named
63 beg /etc/rc.d/ntpdate start
64 end /etc/rc.d/ntpdate
65 beg /etc/rc.d/rpcbind start
66 end /etc/rc.d/rpcbind
67 beg /etc/rc.d/nisdomain start
67 beg /etc/rc.d/nfsclient start
68 end /etc/rc.d/nisdomain
69 beg /etc/rc.d/ypserv start
70 end /etc/rc.d/ypserv
71 beg /etc/rc.d/ypxfrd start
71 beg /etc/rc.d/ypupdated start
71 beg /etc/rc.d/ypbind start
72 end /etc/rc.d/ypbind
73 beg /etc/rc.d/ypset start
74 end /etc/rc.d/ypset
74 end /etc/rc.d/nfsclient
75 beg /etc/rc.d/yppasswdd start
75 beg /etc/rc.d/keyserv start
75 beg /etc/rc.d/quota start
75 beg /etc/rc.d/amd start
76 end /etc/rc.d/quota
77 beg /etc/rc.d/mountd start
78 end /etc/rc.d/nfsuserd
78 end /etc/rc.d/gssd
78 end /etc/rc.d/mountd
79 beg /etc/rc.d/nfsd start
80 end /etc/rc.d/nfsd
81 beg /etc/rc.d/statd start
82 end /etc/rc.d/statd
83 beg /etc/rc.d/lockd start
84 end /etc/rc.d/virecover
84 end /etc/rc.d/cleartmp
84 end /etc/rc.d/hastd
84 end /etc/rc.d/dmesg
84 end /etc/rc.d/kpasswdd
84 end /etc/rc.d/keyserv
84 end /etc/rc.d/auditd
84 end /etc/rc.d/pppoed
84 end /etc/rc.d/pwcheck
84 end /etc/rc.d/lockd
84 end /etc/rc.d/amd
84 end /etc/rc.d/ipxrouted
84 end /etc/rc.d/accounting
84 end /etc/rc.d/atm3
85 beg /etc/rc.d/DAEMON start
86 end /etc/rc.d/DAEMON
87 beg /etc/rc.d/ftp-proxy start
87 beg /etc/rc.d/sdpd start
87 beg /etc/rc.d/rwho start
87 beg /etc/rc.d/rtadvd start
87 beg /etc/rc.d/timed start
87 beg /etc/rc.d/ubthidhci start
87 beg /etc/rc.d/hcsecd start
87 beg /etc/rc.d/rarpd start
87 beg /etc/rc.d/bootparams start
87 beg /etc/rc.d/watchdogd start
87 beg /etc/rc.d/powerd start
87 beg /etc/rc.d/ntpd start
87 beg /etc/rc.d/apm start
87 beg /etc/rc.d/nscd start
87 beg /etc/rc.d/moused start
87 beg /etc/rc.d/mountlate start
87 beg /etc/rc.d/lpd start
87 beg /etc/rc.d/local start
88 end /etc/rc.d/sdpd
88 end /etc/rc.d/apm
88 end /etc/rc.d/ubthidhci
88 end /etc/rc.d/hcsecd
89 beg /etc/rc.d/rfcomm_pppd_server start
89 beg /etc/rc.d/bthidd start
89 beg /etc/rc.d/apmd start
89 beg /etc/rc.d/bluetooth start
90 end /etc/rc.d/rfcomm_pppd_server
90 end /etc/rc.d/mountlate
90 end /etc/rc.d/motd
90 end /etc/rc.d/lpd
90 end /etc/rc.d/local
90 end /etc/rc.d/nscd
90 end /etc/rc.d/ntpd
90 end /etc/rc.d/powerd
90 end /etc/rc.d/rarpd
90 end /etc/rc.d/rctl
90 end /etc/rc.d/rtadvd
90 end /etc/rc.d/rwho
90 end /etc/rc.d/timed
90 end /etc/rc.d/ugidfw
90 end /etc/rc.d/bthidd
90 end /etc/rc.d/bootparams
90 end /etc/rc.d/apmd
90 end /etc/rc.d/yppasswdd
91 beg /etc/rc.d/LOGIN start
92 end /etc/rc.d/LOGIN
93 beg /etc/rc.d/othermta start
93 beg /etc/rc.d/ftpd start
93 beg /etc/rc.d/msgs start
93 beg /etc/rc.d/inetd start
93 beg /etc/rc.d/sshd start
93 beg /etc/rc.d/syscons start
93 beg /etc/rc.d/sendmail start
93 beg /etc/rc.d/cron start
93 beg /etc/rc.d/jail start
94 end /etc/rc.d/cron
94 end /etc/rc.d/localpkg
94 end /etc/rc.d/jail
95 beg /etc/rc.d/bgfsck start
95 beg /etc/rc.d/securelevel start
95 end /etc/rc.d/gptboot
95 end /etc/rc.d/hostapd
95 end /etc/rc.d/mixer
95 end /etc/rc.d/inetd
95 end /etc/rc.d/ypupdated
95 end /etc/rc.d/bsnmpd
95 end /etc/rc.d/bridge
95 end /etc/rc.d/bluetooth
95 end /etc/rc.d/bgfsck
95 end /etc/rc.d/power_profile
95 end /etc/rc.d/othermta
95 end /etc/rc.d/watchdogd
95 end /etc/rc.d/wpa_supplicant
95 end /etc/rc.d/ypxfrd
95 end /etc/rc.d/nfscbd
95 end /etc/rc.d/moused
95 end /etc/rc.d/addswap
95 end /etc/rc.d/natd
95 end /etc/rc.d/ftp-proxy
95 end /etc/rc.d/securelevel
95 end /etc/rc.d/sendmail
95 end /etc/rc.d/sshd
95 end /etc/rc.d/ftpd
95 end /etc/rc.d/dhclient
95 end /etc/rc.d/geli2
95 end /etc/rc.d/static_arp
95 end /etc/rc.d/syscons
95 end /etc/rc.d/msgs
2011/8/24 Dirk-Willem van Gulik <dirkx at webweaving.org>:
>
> On 24 Aug 2011, at 10:08, Vitaly Magerya wrote:
>
>> One thing to try is to attach a diagnostics feature that will produce
>> data about rc script dependencies and execution times, which can
>> be used to visualize which scripts take most time, and how to
>> reorganize dependencies to improve boot time (one example I noticed
>> is moused: it is only started after network is up, which is a shame,
>> since it could easily start while DHCP negotiation is in progress).
>
> Perhaps https://github.com/buganini/rcexecr may be a good start.
>
> Dw
>
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>
More information about the freebsd-rc
mailing list