From owner-freebsd-hackers@FreeBSD.ORG Wed Jun 13 23:27:13 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (unknown [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BA57106567F for ; Wed, 13 Jun 2012 23:27:13 +0000 (UTC) (envelope-from rflynn@acsalaska.net) Received: from mailhub.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id 2531B8FC14 for ; Wed, 13 Jun 2012 23:27:13 +0000 (UTC) Received: from [127.0.0.1] (squeeze.lan.rachie.is-a-geek.net [192.168.2.30]) by mailhub.rachie.is-a-geek.net (Postfix) with ESMTP id B4CC17E876; Wed, 13 Jun 2012 15:27:11 -0800 (AKDT) Message-ID: <4FD921CD.10706@acsalaska.net> Date: Thu, 14 Jun 2012 01:27:09 +0200 From: Mel Flynn User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: Garrett Cooper References: <4FD66F7E.2060404@brandonfa.lk> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, Brandon Falk Subject: Re: FreeBSD Boot Times 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: Wed, 13 Jun 2012 23:27:13 -0000 On 12-6-2012 0:51, Garrett Cooper wrote: > On Mon, Jun 11, 2012 at 3:21 PM, Brandon Falk wrote: >> Greetings, >> >> I was just wondering what it is that FreeBSD does that makes it take so long >> to boot. Booting into Ubuntu minimal or my own custom Linux distro, >> literally takes 0.5-2 seconds to boot up to shell, where FreeBSD takes about >> 10-20 seconds. I'm not sure if anything could be parallelized in the boot >> process, but Linux somehow manages to do it. The Ubuntu install I do pretty >> much consists of a shell and developers tools, but it still has a generic >> kernel. There must be some sort of polling done in the FreeBSD boot process >> that could be parallelized or eliminated. >> >> Anyone have any suggestions? >> >> Note: This isn't really an issue, moreso a curiosity. > > The single process nature of rc is a big part of the problem, as > is the single AP bootup of FreeBSD right before multiuser mode. There > are a number of threads that discuss this (look for parallel rc bootup > or something like that in the current, hacker, and rc archives -- the > most recent discussion was probably 6~9 months ago). > Given past experience, a big part of getting past the parallelized > rc mess would be to make services fail/wait gracefully for all their > resources to come up before proceeding. It's not easy, but it's > possible with enough resources. I realize people are working on this and that it's generally a good thing, however - please don't underestimate the importance of getting an accurate list of what boots when and equally important how it shuts down. rcorder is vary valuable in diagnosing why certain services fail to start or throw fits, but you have to be able to match it with output from the rc script (something that not all scripts do I might add). -- Mel