From owner-freebsd-hackers@FreeBSD.ORG Thu Aug 25 12:21:39 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E6C2106567A for ; Thu, 25 Aug 2011 12:21:39 +0000 (UTC) (envelope-from joris.dedieu@gmail.com) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id 18C348FC0A for ; Thu, 25 Aug 2011 12:21:38 +0000 (UTC) Received: by gyd10 with SMTP id 10so1991564gyd.13 for ; Thu, 25 Aug 2011 05:21:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=AyogGOCaUlRYaX/U5uz0oDr21Nw/8RtMwPyiKFZ0BRs=; b=onUSiwfcj3eSbd6OiTlkXPrbOBQ81jGFYnGCdwPp2KsPuuKwAvPF0VMB2EllFEXp7S PxHhdAC4r15Ivz0rwPhgrLm4T91w66vnrVYXyB7Cofw/acnq55cs0lsMS3z1y4u4C7W8 0rNGYPCo6tZwI+6Bm0+zEl/IWcPMRMlNmdq+s= MIME-Version: 1.0 Received: by 10.231.56.75 with SMTP id x11mr12649551ibg.98.1314274898239; Thu, 25 Aug 2011 05:21:38 -0700 (PDT) Received: by 10.231.37.76 with HTTP; Thu, 25 Aug 2011 05:21:38 -0700 (PDT) In-Reply-To: References: <20110821121509.GA27730@crane.none> Date: Thu, 25 Aug 2011 14:21:38 +0200 Message-ID: From: joris dedieu To: freebsd-hackers@freebsd.org, freebsd-rc@freebsd.org Content-Type: multipart/mixed; boundary=000e0cd3592e7261ed04ab5378bb Cc: Subject: Re: Concurrent execution of rc-scripts with rcorder(8) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Aug 2011 12:21:39 -0000 --000e0cd3592e7261ed04ab5378bb Content-Type: text/plain; charset=ISO-8859-1 2011/8/24 Vitaly Magerya : >> 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--