Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Aug 2011 14:21:38 +0200
From:      joris dedieu <joris.dedieu@gmail.com>
To:        freebsd-hackers@freebsd.org, freebsd-rc@freebsd.org
Subject:   Re: Concurrent execution of rc-scripts with rcorder(8)
Message-ID:  <CAPd55qC_dVy=SNoi%2Bwn1qXo=nQ54yk2yiVpk-xzKtvZqW3Kbkg@mail.gmail.com>
In-Reply-To: <CAL409Kxum=-oyPFCwpAgA_bcTAuAUjQRB0FNmwGLKWFBDAEP8A@mail.gmail.com>
References:  <20110821121509.GA27730@crane.none> <CAL409Kxum=-oyPFCwpAgA_bcTAuAUjQRB0FNmwGLKWFBDAEP8A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000e0cd3592e7261ed04ab5378bb
Content-Type: text/plain; charset=ISO-8859-1

2011/8/24 Vitaly Magerya <vmagerya@gmail.com>:
>> the idea to start services concurrently during boot isn't new and the
>> question why FreeBSD doesn't do it has popped up on the forum and
>> mailing list occasionally. So, why not give it a shot?
>
> As someone who uses FreeBSD on hist laptop and is constantly annoyed
> by the lack of suspend-to-disk, every second trimmed of from boot
> time is a win.
>
> In line of the recent FreeBSD problems & solutions discussion, would
> any commiter take time to review and commit this? "FreeBSD 9.1
> introduces concurrent startup, improves boot speed" is the kind of
> buzz we're after.
>
>> Any ideas and feedback are very welcome!
>
> 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   background_dhclient="YES" should solve it ? I think
background approach (which is current archlinux one [1] ) is not so
bad. It's clearly  less powerful than automagic parallelization  but
it's maybe less invasive and more flexible for sysadmins.

I gave it a try with a little patch for rc.subr that introduces a
background keyword  (eg: moused_enable="background"). It's surly buggy
with some variables like rc_quiet. I have to check more.

[1] https://wiki.archlinux.org/index.php/DAEMONS

Joris

> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>

--000e0cd3592e7261ed04ab5378bb
Content-Type: text/x-patch; charset=US-ASCII; name="rc.subr.patch"
Content-Disposition: attachment; filename="rc.subr.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_grrp50nw0

LS0tIC9ldGMvcmMuc3VicgkyMDExLTA1LTAyIDA4OjQ5OjExLjAwMDAwMDAwMCArMDIwMAorKysg
cmMuc3VicgkyMDExLTA4LTI1IDEzOjUwOjI5LjMwMDI3NTc4MyArMDIwMApAQCAtMTQyLDggKzE0
Miw5IEBACiAJZGVidWcgImNoZWNreWVzbm86ICQxIGlzIHNldCB0byAkX3ZhbHVlLiIKIAljYXNl
ICRfdmFsdWUgaW4KIAotCQkjCSJ5ZXMiLCAidHJ1ZSIsICJvbiIsIG9yICIxIgotCVtZeV1bRWVd
W1NzXXxbVHRdW1JyXVtVdV1bRWVdfFtPb11bTm5dfDEpCisJCSMJInllcyIsICJ0cnVlIiwgIm9u
IiwgIjEiLCAiYmciIG9yICJiYWNrZ3JvdW5kIgorCVtZeV1bRWVdW1NzXXxbVHRdW1JyXVtVdV1b
RWVdfFtPb11bTm5dfDF8W0JiXVtHZ118XAorW0JiXVtBYV1bQ2NdW0trXVtHZ11bUnJdW09vXVtV
dV1bTm5dW0RkXSkKIAkJcmV0dXJuIDAKIAkJOzsKIApAQCAtMTU5LDYgKzE2MCwyNSBAQAogfQog
CiAjCisjIGNoZWNrYmcgdmFyCisjCVRlc3QgJDEgdmFyaWFibGUsIGFuZCByZXR1cm4gMCBpZiBp
dCdzIGJhY2tncm91bmQgb3IgYmcuCisjCVJldHVybiBub256ZXJvIG90aGVyd2lzZS4KKyMKK2No
ZWNrYmcoKQoreworCWV2YWwgX3ZhbHVlPVwkJHsxfQorCWRlYnVnICJjaGVja2JnOiAkMSBpcyBz
ZXQgdG8gJF92YWx1ZS4iCisJY2FzZSAkX3ZhbHVlIGluCisJW0JiXVtHZ118W0JiXVtBYV1bQ2Nd
W0trXVtHZ11bUnJdW09vXVtVdV1bTm5dW0RkXSkKKwkJcmV0dXJuIDAKKwkJOzsKKwkqKQorCQly
ZXR1cm4gMQorCQk7OworCWVzYWMKK30KKworIwogIyByZXZlcnNlX2xpc3QgbGlzdAogIwlwcmlu
dCB0aGUgbGlzdCBpbiByZXZlcnNlIG9yZGVyCiAjCkBAIC03MzUsNTQgKzc1NSwxMSBAQAogCQkJ
OzsKIAogCQlzdGFydCkKLQkJCWlmIFsgLXogIiRyY19mYXN0IiAtYSAtbiAiJHJjX3BpZCIgXTsg
dGhlbgotCQkJCWVjaG8gMT4mMiAiJHtuYW1lfSBhbHJlYWR5IHJ1bm5pbmc/IChwaWQ9JHJjX3Bp
ZCkuIgotCQkJCXJldHVybiAxCisJCQlpZiBjaGVja2JnICR7cmN2YXJ9OyB0aGVuCisJCQkJZXZh
bCBfcnVuX3JjX3N0YXJ0ICYKKwkJCWVsc2UgCisJCQkJX3J1bl9yY19zdGFydAogCQkJZmkKLQot
CQkJaWYgWyAhIC14ICR7X2Nocm9vdH0ke19jaHJvb3Q6KyIvIn0ke2NvbW1hbmR9IF07IHRoZW4K
LQkJCQl3YXJuICJydW5fcmNfY29tbWFuZDogY2Fubm90IHJ1biAkY29tbWFuZCIKLQkJCQlyZXR1
cm4gMQotCQkJZmkKLQotCQkJaWYgISBfcnVuX3JjX3ByZWNtZDsgdGhlbgotCQkJCXdhcm4gImZh
aWxlZCBwcmVjbWQgcm91dGluZSBmb3IgJHtuYW1lfSIKLQkJCQlyZXR1cm4gMQotCQkJZmkKLQot
CQkJCQkjIHNldHVwIHRoZSBmdWxsIGNvbW1hbmQgdG8gcnVuCi0JCQkJCSMKLQkJCWNoZWNrX3N0
YXJ0bXNncyAmJiBlY2hvICJTdGFydGluZyAke25hbWV9LiIKLQkJCWlmIFsgLW4gIiRfY2hyb290
IiBdOyB0aGVuCi0JCQkJX2RvaXQ9IlwKLSR7X25pY2U6K25pY2UgLW4gJF9uaWNlIH1cCi1jaHJv
b3QgJHtfdXNlcjorLXUgJF91c2VyIH0ke19ncm91cDorLWcgJF9ncm91cCB9JHtfZ3JvdXBzOist
RyAkX2dyb3VwcyB9XAotJF9jaHJvb3QgJGNvbW1hbmQgJHJjX2ZsYWdzICRjb21tYW5kX2FyZ3Mi
Ci0JCQllbHNlCi0JCQkJX2RvaXQ9IlwKLSR7X2NoZGlyOitjZCAkX2NoZGlyICYmIH1cCi0kY29t
bWFuZCAkcmNfZmxhZ3MgJGNvbW1hbmRfYXJncyIKLQkJCQlpZiBbIC1uICIkX3VzZXIiIF07IHRo
ZW4KLQkJCQkgICAgX2RvaXQ9InN1IC1tICRfdXNlciAtYyAnc2ggLWMgXCIkX2RvaXRcIiciCi0J
CQkJZmkKLQkJCQlpZiBbIC1uICIkX25pY2UiIF07IHRoZW4KLQkJCQkJaWYgWyAteiAiJF91c2Vy
IiBdOyB0aGVuCi0JCQkJCQlfZG9pdD0ic2ggLWMgXCIkX2RvaXRcIiIKLQkJCQkJZmkKLQkJCQkJ
X2RvaXQ9Im5pY2UgLW4gJF9uaWNlICRfZG9pdCIKLQkJCQlmaQotCQkJZmkKLQotCQkJCQkjIHJ1
biB0aGUgZnVsbCBjb21tYW5kCi0JCQkJCSMKLQkJCWlmICEgX3J1bl9yY19kb2l0ICIkX2RvaXQi
OyB0aGVuCi0JCQkJd2FybiAiZmFpbGVkIHRvIHN0YXJ0ICR7bmFtZX0iCi0JCQkJcmV0dXJuIDEK
LQkJCWZpCi0KLQkJCQkJIyBmaW5hbGx5LCBydW4gcG9zdGNtZAotCQkJCQkjCi0JCQlfcnVuX3Jj
X3Bvc3RjbWQKIAkJCTs7CiAKIAkJc3RvcCkKQEAgLTk4NSw2ICs5NjIsNTkgQEAKIAllY2hvICIk
X2NtZCIKIH0KIAorX3J1bl9yY19zdGFydCgpCit7CisJaWYgWyAteiAiJHJjX2Zhc3QiIC1hIC1u
ICIkcmNfcGlkIiBdOyB0aGVuCisJCWVjaG8gMT4mMiAiJHtuYW1lfSBhbHJlYWR5IHJ1bm5pbmc/
IChwaWQ9JHJjX3BpZCkuIgorCQlyZXR1cm4gMQorCWZpCisKKwlpZiBbICEgLXggJHtfY2hyb290
fSR7X2Nocm9vdDorIi8ifSR7Y29tbWFuZH0gXTsgdGhlbgorCQl3YXJuICJydW5fcmNfY29tbWFu
ZDogY2Fubm90IHJ1biAkY29tbWFuZCIKKwkJcmV0dXJuIDEKKwlmaQorCisJaWYgISBfcnVuX3Jj
X3ByZWNtZDsgdGhlbgorCQl3YXJuICJmYWlsZWQgcHJlY21kIHJvdXRpbmUgZm9yICR7bmFtZX0i
CisJCXJldHVybiAxCisJZmkKKworCSMgc2V0dXAgdGhlIGZ1bGwgY29tbWFuZCB0byBydW4KKwkj
CisJY2hlY2tfc3RhcnRtc2dzICYmIGVjaG8gIlN0YXJ0aW5nICR7bmFtZX0uIgorCWlmIFsgLW4g
IiRfY2hyb290IiBdOyB0aGVuCisJCQkJX2RvaXQ9IlwKKyR7X25pY2U6K25pY2UgLW4gJF9uaWNl
IH1cCitjaHJvb3QgJHtfdXNlcjorLXUgJF91c2VyIH0ke19ncm91cDorLWcgJF9ncm91cCB9JHtf
Z3JvdXBzOistRyAkX2dyb3VwcyB9XAorJF9jaHJvb3QgJGNvbW1hbmQgJHJjX2ZsYWdzICRjb21t
YW5kX2FyZ3MiCisJCQllbHNlCisJCQkJX2RvaXQ9IlwKKyR7X2NoZGlyOitjZCAkX2NoZGlyICYm
IH1cCiskY29tbWFuZCAkcmNfZmxhZ3MgJGNvbW1hbmRfYXJncyIKKwkJaWYgWyAtbiAiJF91c2Vy
IiBdOyB0aGVuCisJCQlfZG9pdD0ic3UgLW0gJF91c2VyIC1jICdzaCAtYyBcIiRfZG9pdFwiJyIK
KwkJZmkKKwkJaWYgWyAtbiAiJF9uaWNlIiBdOyB0aGVuCisJCQlpZiBbIC16ICIkX3VzZXIiIF07
IHRoZW4KKwkJCQlfZG9pdD0ic2ggLWMgXCIkX2RvaXRcIiIKKwkJCWZpCisJCQlfZG9pdD0ibmlj
ZSAtbiAkX25pY2UgJF9kb2l0IgorCQlmaQorCWZpCisKKwkjIHJ1biB0aGUgZnVsbCBjb21tYW5k
CisJIworCWlmICEgX3J1bl9yY19kb2l0ICIkX2RvaXQiOyB0aGVuCisJCXdhcm4gImZhaWxlZCB0
byBzdGFydCAke25hbWV9IgorCXJldHVybiAxCisJZmkKKworCSMgZmluYWxseSwgcnVuIHBvc3Rj
bWQKKwkjCisJX3J1bl9yY19wb3N0Y21kCit9CisKKwogIwogIyBydW5fcmNfc2NyaXB0IGZpbGUg
YXJnCiAjCVN0YXJ0IHRoZSBzY3JpcHQgYGZpbGUnIHdpdGggYGFyZycsIGFuZCBjb3JyZWN0bHkg
aGFuZGxlIHRoZQo=
--000e0cd3592e7261ed04ab5378bb--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPd55qC_dVy=SNoi%2Bwn1qXo=nQ54yk2yiVpk-xzKtvZqW3Kbkg>