Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Jun 2011 22:49:25 +0200
From:      "K. Macy" <kmacy@freebsd.org>
To:        mdf@freebsd.org, freebsd-arch@freebsd.org
Subject:   Re: [RFC] shipping kernels with default modules?
Message-ID:  <BANLkTino4eMNPQedE1TcxUYqgbuPNfhHKw@mail.gmail.com>
In-Reply-To: <20110611204326.GA51320@zim.MIT.EDU>
References:  <BANLkTin2AwKRT7N6HWqBctJcT72_mR=Otg@mail.gmail.com> <20110611171834.GA38142@zim.MIT.EDU> <BANLkTik=z-fb1sDwh0dr4hRWmdhLMWiKdw@mail.gmail.com> <20110611204326.GA51320@zim.MIT.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help
>> Indeed, at $WORK we're trying to get shutdown -> restart under 2
>> minutes. =A0Several seconds of this is moving things *into* the kernel
>> that need to be there (disk drivers), and everything else to a point
>> in init where modules can be loaded in parallel, using the faster disk
>> driver, rather than in serial with slow BIOS handlers.
>
> Have you found that drivers can be reliably loaded in parallel
> these days? =A0I'm always waiting for timeouts on four card readers
> and two optical drives, so that would be a big win for me. =A0IIRC,
> nothing can happen in parallel during boot because the scheduler
> is initialized very late in the process. =A0I'm not a device driver
> person, but I imagine there might be other assumptions that might
> get in the way as well.

Although I imagine that many drivers silently benefit from being
loaded serially, to the best of my knowledge there is nothing
architecturally requiring this apart from the fact that the scheduler
isn't started until everything else tied to initialization happens.
The absence of any sort of preemption was a bit of a thorn in my side
back when I was working on "xenbus", as the linux implementation
relies on the use of multiple thread contexts. I don't know how much
effort to date has been put in to making boot fast.

Cheers,
Kip



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTino4eMNPQedE1TcxUYqgbuPNfhHKw>