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>